Skip to content

Commit

Permalink
add jobs for windows & macos
Browse files Browse the repository at this point in the history
  • Loading branch information
dlon committed Oct 28, 2023
1 parent 8cef175 commit ab1d6e9
Showing 1 changed file with 93 additions and 4 deletions.
97 changes: 93 additions & 4 deletions .github/workflows/desktop-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,51 @@ jobs:
with:
name: ${{ matrix.os }}_report
path: ./test/.ci-logs/${{ matrix.os }}_report

build-windows:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout submodules
run: git submodule update --init --depth=1
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Rust
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
target: i686-pc-windows-msvc
default: true
- name: Install msbuild
uses: microsoft/setup-msbuild@v1.0.2
with:
vs-version: 16
- name: Build app
shell: bash
env:
# On Windows, the checkout is on the D drive, which is very small.
# Moving the target directory to the C drive ensures that the runner
# doesn't run out of space on the D drive.
CARGO_TARGET_DIR: "C:/cargo-target"
run: ./build.sh
- name: Build test executable
shell: bash
run: ./gui/scripts/build-test-executable.sh
- uses: actions/upload-artifact@v3
if: '!cancelled()'
with:
name: windows-build
path: .\dist\*.exe

e2e-test-windows:
# TEMP
if: false
needs: build-windows
if: '!cancelled()'
name: Windows end-to-end tests
runs-on: [self-hosted, desktop-test, Linux] # app-test-linux
timeout-minutes: 240
Expand All @@ -94,6 +136,11 @@ jobs:
matrix:
os: [windows10, windows11]
steps:
- uses: actions/download-artifact@v3
if: ${{ needs.build-windows.result == 'success' }}
with:
name: windows-build
path: ~/.cache/mullvad-test/packages
- name: Checkout repository
uses: actions/checkout@v4
with:
Expand All @@ -107,9 +154,45 @@ jobs:
with:
name: ${{ matrix.os }}_report
path: ./test/.ci-logs/${{ matrix.os }}_report

build-macos:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout submodules
run: git submodule update --init --depth=1
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Rust
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
default: true
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.18.5
- name: Build app
run: ./build.sh
- name: Build test executable
run: ./gui/scripts/build-test-executable.sh
- uses: actions/upload-artifact@v3
if: '!cancelled()'
with:
name: macos-build
path: |
./dist/*.pkg
./dist/app-e2e-*
e2e-test-macos:
# TEMP
if: false
needs: build-macos
if: '!cancelled()'
name: macOS end-to-end tests
runs-on: [self-hosted, desktop-test, macOS] # app-test-macos-arm
timeout-minutes: 240
Expand All @@ -118,6 +201,11 @@ jobs:
matrix:
os: [macos-14, macos-13, macos-12]
steps:
- uses: actions/download-artifact@v3
if: ${{ needs.build-macos.result == 'success' }}
with:
name: macos-build
path: ~/Library/Caches/mullvad-test/packages
- name: Checkout repository
uses: actions/checkout@v4
with:
Expand All @@ -131,6 +219,7 @@ jobs:
with:
name: ${{ matrix.os }}_report
path: ./test/.ci-logs/${{ matrix.os }}_report

compile-test-matrix:
name: Result matrix
needs: [e2e-test-linux, e2e-test-windows, e2e-test-macos]
Expand Down

0 comments on commit ab1d6e9

Please sign in to comment.