Skip to content

mac and windows nightly build #100

mac and windows nightly build

mac and windows nightly build #100

Workflow file for this run

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