mac and windows nightly build #103
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'mac and windows nightly build' | |
# **What it does**: Generate unsigned macOS app and installer artifacts. | |
# **Why we have it**: To build nightlies. | |
# **Who does it impact**: Release/test. | |
on: | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
type: boolean | |
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | |
required: false | |
default: false | |
provider_name: | |
description: 'The name of the providers branding that needs to be applied to the GUI app' | |
required: true | |
default: 'riseup' | |
type: choice | |
options: | |
- riseup | |
- calyx | |
- floatdemo | |
- demolib | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
schedule: | |
- cron: '0 1 * * *' | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
jobs: | |
build-win: | |
defaults: | |
run: | |
shell: C:\msys64\usr\bin\bash.exe -e -o pipefail {0} | |
runs-on: | |
- windows-2019 | |
steps: | |
- name: Setup Golang 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- name: Install build dependencies from chocolatey | |
run: choco install sigcheck aqt wget curl | |
- run: choco install qt-installer-framework --version 4.7.0 | |
- run: git config --global core.autocrlf input | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Qt6 SDK using aqt | |
run: cd $USERPROFILE && aqt install-qt windows desktop 6.6.2 win64_mingw | |
- name: Build app | |
env: | |
PROVIDER: riseup | |
run: | | |
export PATH=$(cygpath $USERPROFILE/6.6.2/mingw_64/bin):$(cygpath $SYSTEMDRIVE/Qt/QtIFW-4.7.0/bin):$PATH | |
export PATH=$(cygpath $SYSTEMDRIVE/msys64/mingw64/bin):$(cygpath $SYSTEMDRIVE/msys64/usr/bin):$PATH | |
make vendor | |
make build | |
make installer | |
- name: Setup tmate session | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 | |
- name: Upload build/qt/release/riseup-vpn.exe | |
uses: actions/upload-artifact@v4 | |
with: | |
name: riseup-vpn-exe-${{ github.sha }} | |
path: build/qt/release/riseup-vpn.exe | |
- name: Upload build/installer/RiseupVPN-installer-*.exe | |
uses: actions/upload-artifact@v4 | |
with: | |
name: riseup-vpn-installer-${{ github.sha }} | |
path: build/installer/*.exe | |
build-mac: | |
strategy: | |
matrix: | |
os: | |
- macOS-13 | |
- macOS-12 | |
# - macOS-14 is broken becuase of missing openvpn build | |
runs-on: | |
- ${{ matrix.os }} | |
steps: | |
- name: Setup Golang 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- run: go version | |
- name: Install build dependencies from brew | |
run: brew install make create-dmg | |
- name: Install aqt installer | |
run: pipx install aqtinstall | |
- name: Setup Qt6 using aqt | |
run: aqt install-qt mac desktop 6.6.2 clang_64 -O ~/Qt6 | |
- name: Install Qt installer framework | |
run: > | |
cd /tmp && | |
curl -LO https://download.qt.io/official_releases/qt-installer-framework/4.7.0/QtInstallerFramework-macOS-x64-4.7.0.dmg && | |
hdiutil attach QtInstallerFramework-macOS-x64-4.7.0.dmg && | |
cd /Volumes/QtInstallerFramework-macOS-x64-4.7.0/QtInstallerFramework-macOS-x64-4.7.0.app/Contents/MacOS && | |
./QtInstallerFramework-macOS-x64-4.7.0 in --da -c --al | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-tags: true | |
- name: Build macOS installer | |
run: | | |
export PATH=~/Qt6/6.6.2/macos/bin:~/Qt/QtIFW-4.7.0/bin:$PATH | |
export PROVIDER=riseup | |
make vendor | |
make build | |
make installer | |
- name: Setup tmate session | |
if: ${{ failure() }} | |
uses: mxschmitt/action-tmate@v3 | |
- name: Upload build/qt/release/riseup-vpn.app | |
uses: actions/upload-artifact@v4 | |
with: | |
name: riseup-vpn-app-${{ github.sha }}-${{ matrix.os }} | |
path: build/installer/*.app |