Skip to content

Commit 8054753

Browse files
committed
[ci] combine Linux amd64 and arm64 builds into a single job using matrix
1 parent b240702 commit 8054753

File tree

1 file changed

+13
-60
lines changed

1 file changed

+13
-60
lines changed

.github/workflows/build.yml

Lines changed: 13 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -15,92 +15,45 @@ env:
1515
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1616

1717
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 }}
7621
strategy:
7722
matrix:
7823
include:
24+
- arch: amd64
25+
runner: ubuntu-22.04
26+
image: crossdesk/ubuntu20.04:latest
27+
package_script: ./scripts/linux/pkg_amd64.sh
28+
7929
- arch: arm64
30+
runner: ubuntu-22.04-arm
8031
image: crossdesk/ubuntu20.04-arm64v8:latest
8132
package_script: ./scripts/linux/pkg_arm64.sh
33+
8234
container:
8335
image: ${{ matrix.image }}
8436
options: --user root
37+
8538
steps:
8639
- name: Extract version number
87-
id: version
8840
run: |
8941
VERSION="${GITHUB_REF##*/}"
9042
VERSION_NUM="${VERSION#v}"
9143
echo "VERSION_NUM=${VERSION_NUM}" >> $GITHUB_ENV
9244
9345
- name: Set legal Debian version
9446
shell: bash
95-
id: set_deb_version
9647
run: |
9748
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7)
9849
BUILD_DATE=$(TZ=Asia/Shanghai date +%Y%m%d)
50+
9951
if [[ ! "${VERSION_NUM}" =~ ^[0-9] ]]; then
10052
LEGAL_VERSION="v0.0.0-${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}"
10153
else
10254
LEGAL_VERSION="v${VERSION_NUM}-${BUILD_DATE}-${SHORT_SHA}"
10355
fi
56+
10457
echo "LEGAL_VERSION=${LEGAL_VERSION}" >> $GITHUB_ENV
10558
echo "BUILD_DATE=${BUILD_DATE}" >> $GITHUB_ENV
10659

0 commit comments

Comments
 (0)