|
15 | 15 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
16 | 16 |
|
17 | 17 | jobs: |
18 | | - # Linux amd64 |
19 | | - build-linux-amd64: |
20 | | - name: Build on Ubuntu 22.04 amd64 |
21 | | - runs-on: ubuntu-22.04 |
22 | | - container: |
23 | | - image: crossdesk/ubuntu20.04:latest |
24 | | - options: --user root |
25 | | - steps: |
26 | | - - name: Extract version number |
27 | | - id: version |
28 | | - run: | |
29 | | - VERSION="${GITHUB_REF##*/}" |
30 | | - VERSION_NUM="${VERSION#v}" |
31 | | - echo "VERSION_NUM=${VERSION_NUM}" >> $GITHUB_ENV |
32 | | -
|
33 | | - - name: Set legal Debian version |
34 | | - shell: bash |
35 | | - id: set_deb_version |
36 | | - run: | |
37 | | - SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7) |
38 | | - BUILD_DATE=$(TZ=Asia/Shanghai date +%Y%m%d) |
39 | | - if [[ ! "${VERSION_NUM}" =~ ^[0-9] ]]; then |
40 | | - LEGAL_VERSION="v0.0.0-${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}" |
41 | | - else |
42 | | - LEGAL_VERSION="v${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}" |
43 | | - fi |
44 | | - echo "LEGAL_VERSION=${LEGAL_VERSION}" >> $GITHUB_ENV |
45 | | - echo "BUILD_DATE=${BUILD_DATE}" >> $GITHUB_ENV |
46 | | -
|
47 | | - - name: Checkout code |
48 | | - uses: actions/checkout@v4 |
49 | | - with: |
50 | | - submodules: recursive |
51 | | - |
52 | | - - name: Build CrossDesk |
53 | | - env: |
54 | | - CUDA_PATH: /usr/local/cuda |
55 | | - XMAKE_GLOBALDIR: /data |
56 | | - run: | |
57 | | - ls -la $XMAKE_GLOBALDIR |
58 | | - xmake f --CROSSDESK_VERSION=${LEGAL_VERSION} --USE_CUDA=true --root -y |
59 | | - xmake b -vy --root crossdesk |
60 | | -
|
61 | | - - name: Package |
62 | | - run: | |
63 | | - chmod +x ./scripts/linux/pkg_amd64.sh |
64 | | - ./scripts/linux/pkg_amd64.sh ${LEGAL_VERSION} |
65 | | -
|
66 | | - - name: Upload artifact |
67 | | - uses: actions/upload-artifact@v4 |
68 | | - with: |
69 | | - name: crossdesk-linux-amd64-${{ env.LEGAL_VERSION }} |
70 | | - path: ${{ github.workspace }}/crossdesk-linux-amd64-${{ env.LEGAL_VERSION }}.deb |
71 | | - |
72 | | - # Linux arm64 |
73 | | - build-linux-arm64: |
74 | | - name: Build on Ubuntu 22.04 arm64 |
75 | | - runs-on: ubuntu-22.04-arm |
| 18 | + build-linux: |
| 19 | + name: Build Linux (${{ matrix.arch }}) |
| 20 | + runs-on: ${{ matrix.runner }} |
76 | 21 | strategy: |
77 | 22 | matrix: |
78 | 23 | include: |
| 24 | + - arch: amd64 |
| 25 | + runner: ubuntu-22.04 |
| 26 | + image: crossdesk/ubuntu20.04:latest |
| 27 | + package_script: ./scripts/linux/pkg_amd64.sh |
| 28 | + |
79 | 29 | - arch: arm64 |
| 30 | + runner: ubuntu-22.04-arm |
80 | 31 | image: crossdesk/ubuntu20.04-arm64v8:latest |
81 | 32 | package_script: ./scripts/linux/pkg_arm64.sh |
| 33 | + |
82 | 34 | container: |
83 | 35 | image: ${{ matrix.image }} |
84 | 36 | options: --user root |
| 37 | + |
85 | 38 | steps: |
86 | 39 | - name: Extract version number |
87 | | - id: version |
88 | 40 | run: | |
89 | 41 | VERSION="${GITHUB_REF##*/}" |
90 | 42 | VERSION_NUM="${VERSION#v}" |
91 | 43 | echo "VERSION_NUM=${VERSION_NUM}" >> $GITHUB_ENV |
92 | 44 |
|
93 | 45 | - name: Set legal Debian version |
94 | 46 | shell: bash |
95 | | - id: set_deb_version |
96 | 47 | run: | |
97 | 48 | SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7) |
98 | 49 | BUILD_DATE=$(TZ=Asia/Shanghai date +%Y%m%d) |
| 50 | +
|
99 | 51 | if [[ ! "${VERSION_NUM}" =~ ^[0-9] ]]; then |
100 | 52 | LEGAL_VERSION="v0.0.0-${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}" |
101 | 53 | else |
102 | 54 | LEGAL_VERSION="v${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}" |
103 | 55 | fi |
| 56 | +
|
104 | 57 | echo "LEGAL_VERSION=${LEGAL_VERSION}" >> $GITHUB_ENV |
105 | 58 | echo "BUILD_DATE=${BUILD_DATE}" >> $GITHUB_ENV |
106 | 59 |
|
|
0 commit comments