Skip to content

Commit 0eab973

Browse files
committed
Native arm64 compile linux
1 parent a579788 commit 0eab973

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

.github/workflows/ci-cd.yml

+22-18
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@ on:
77
branches: [ "master" ]
88

99
jobs:
10-
build:
10+
build:
1111
strategy:
1212
fail-fast: false
1313
matrix:
1414
configuration: [Debug, Release]
15-
os: [windows-latest, ubuntu-22.04]
15+
os: [windows-latest, ubuntu-24.04, ubuntu-24.04-arm]
1616
include:
1717
- os: windows-latest
1818
native: win-x64
1919
arm64: win-arm64
20-
- os: ubuntu-22.04
20+
- os: ubuntu-24.04
2121
native: linux-x64
22-
arm64: linux-arm64
22+
- os: ubuntu-24.04-arm
23+
native: linux-arm64
2324

2425
runs-on: ${{ matrix.os }}
2526
steps:
@@ -29,7 +30,7 @@ jobs:
2930
fetch-depth: 0
3031

3132
- name: Build/Publish app (native)
32-
run: dotnet publish -c ${{ matrix.configuration }}
33+
run: dotnet publish -c ${{ matrix.configuration }} -r ${{ matrix.native }}
3334

3435
- name: Upload Artifact (native)
3536
uses: actions/upload-artifact@v4
@@ -38,25 +39,28 @@ jobs:
3839
path: 'bin/${{ matrix.configuration }}/net8.0/${{ matrix.native }}/publish/'
3940
retention-days: 5
4041

41-
- name: Install prerequisites for Linux ARM64 cross-compile
42-
run: |
43-
sudo dpkg --add-architecture arm64
44-
sudo bash -c 'cat > /etc/apt/sources.list.d/arm64.list <<EOF
45-
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null) main restricted
46-
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null)-updates main restricted
47-
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null)-backports main restricted universe multiverse
48-
EOF'
49-
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
50-
sudo sed -i -e 's/deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
51-
sudo apt-get update
52-
sudo apt-get install -y clang llvm binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu zlib1g-dev:arm64
53-
if: runner.os == 'Linux'
42+
# - name: Install prerequisites for Linux ARM64 cross-compile
43+
# if: runner.os == 'Linux'
44+
# run: |
45+
# sudo dpkg --add-architecture arm64
46+
# sudo bash -c 'cat > /etc/apt/sources.list.d/arm64.list <<EOF
47+
# deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null) main restricted
48+
# deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null)-updates main restricted
49+
# deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc 2>/dev/null)-backports main restricted universe multiverse
50+
# EOF'
51+
# sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
52+
# sudo sed -i -e 's/deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
53+
# sudo apt-get update
54+
# sudo apt-get install -y clang llvm binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu zlib1g-dev:arm64
55+
5456

5557
- name: Build/Publish app (arm64)
5658
run: dotnet publish -c ${{ matrix.configuration }} -r ${{ matrix.arm64 }}
59+
if: runner.os == 'Windows'
5760

5861
- name: Upload Artifact (arm64)
5962
uses: actions/upload-artifact@v4
63+
if: runner.os == 'Windows'
6064
with:
6165
name: OpenPHD2-MultiScope-${{ matrix.configuration }}-${{ matrix.arm64 }}
6266
path: 'bin/${{ matrix.configuration }}/net8.0/${{ matrix.arm64 }}/publish/'

0 commit comments

Comments
 (0)