summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-11-28 09:47:49 +0100
committerDavid Lönnhager <david.l@mullvad.net>2024-12-02 14:19:25 +0100
commit908b4d8ac4c32d8ef7116a470987247fffb89c1a (patch)
treec180e2ff77e17c9d2759f219f795e1e8a86c397b
parent12f120d68025e6c52fb517961963d856418e09cc (diff)
downloadmullvadvpn-908b4d8ac4c32d8ef7116a470987247fffb89c1a.tar.xz
mullvadvpn-908b4d8ac4c32d8ef7116a470987247fffb89c1a.zip
Add daemon CI job for Windows ARM64
-rw-r--r--.github/workflows/daemon.yml31
1 files changed, 25 insertions, 6 deletions
diff --git a/.github/workflows/daemon.yml b/.github/workflows/daemon.yml
index 080cdee7b5..2b6241d76f 100644
--- a/.github/workflows/daemon.yml
+++ b/.github/workflows/daemon.yml
@@ -118,7 +118,14 @@ jobs:
run: ./ci/check-rust.sh
build-windows:
- runs-on: windows-latest
+ strategy:
+ matrix:
+ config:
+ - os: windows-latest
+ arch: x64
+ - os: [self-hosted, ARM64, Windows]
+ arch: arm64
+ runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
@@ -127,6 +134,8 @@ jobs:
run: git submodule update --init --depth=1
- name: Install Protoc
+ # NOTE: ARM runner already has protoc
+ if: ${{ matrix.config.arch != 'arm64' }}
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -136,6 +145,7 @@ jobs:
shell: bash
run: |
hash="$(git grep --recurse-submodules --cached -l '' -- './windows/' \
+ | grep -v '\.exe$\|\.md$' \
| xargs sha1sum \
| sha1sum \
| cut -d" " -f1)"
@@ -146,13 +156,22 @@ jobs:
id: cache-windows-modules
with:
path: |
- ./windows/*/bin/x64-*/*.dll
- ./windows/*/bin/x64-*/*.lib
- !./windows/*/bin/x64-*/libcommon.lib
- !./windows/*/bin/x64-*/libshared.lib
- !./windows/*/bin/x64-*/libwfp.lib
+ ./windows/*/bin/${{ matrix.config.arch }}-*/*.dll
+ ./windows/*/bin/${{ matrix.config.arch }}-*/*.lib
+ !./windows/*/bin/${{ matrix.config.arch }}-*/libcommon.lib
+ !./windows/*/bin/${{ matrix.config.arch }}-*/libshared.lib
+ !./windows/*/bin/${{ matrix.config.arch }}-*/libwfp.lib
key: windows-modules-${{ steps.windows-modules-hash.outputs.hash }}
+ # The x64 toolchain is needed to build talpid-openvpn-plugin
+ # TODO: Remove once fixed
+ - name: Install Rust x64 target
+ if: ${{ matrix.config.arch == 'arm64' }}
+ uses: actions-rs/toolchain@v1.0.6
+ with:
+ toolchain: stable
+ target: x86_64-pc-windows-msvc
+
- name: Install Rust
uses: actions-rs/toolchain@v1.0.6
with: