Merge PR #1745 #4100
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: macOS | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Read variables from repo | |
run: cat .github/workflows/env >> $GITHUB_ENV | |
- name: Check app versions | |
run: | | |
python3 set-version.py | |
git diff --exit-code | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYVER }} | |
- name: Set up CocoaPods | |
uses: maxim-lobanov/setup-cocoapods@v1 | |
with: | |
podfile-path: macos/Podfile.lock | |
- name: Cache helper | |
id: cache-helper | |
uses: actions/cache@v4 | |
with: | |
path: | | |
build/macos/helper | |
assets/licenses/helper.json | |
key: ${{ runner.os }}-py${{ env.PYVER }}-${{ hashFiles('helper/**') }} | |
- name: Install dependencies | |
if: steps.cache-helper.outputs.cache-hit != 'true' | |
run: | | |
brew update | |
brew install swig | |
python -m pip install --upgrade pip | |
pip install poetry | |
- name: Build the Helper | |
if: steps.cache-helper.outputs.cache-hit != 'true' | |
run: ./build-helper.sh | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
flutter-version: ${{ env.FLUTTER }} | |
- run: flutter config --enable-macos-desktop | |
- run: flutter --version | |
- name: Run lints/tests | |
env: | |
SKIP: ${{ steps.cache-helper.outputs.cache-hit == 'true' && 'mypy,flake8,black,bandit' || ''}} | |
run: | | |
pip install pre-commit | |
pre-commit run --all-files | |
flutter test | |
- name: Build the app | |
run: | | |
export VERSION_NAME=`./set-version.py | head -n 1 | sed 's/-.*$//g'` | |
flutter build macos --build-name=$VERSION_NAME | |
- name: Check generated files | |
run: git diff --exit-code | |
- name: Create dmg | |
run: | | |
brew install create-dmg | |
mkdir source_folder | |
cp -R build/macos/Build/Products/Release/"Yubico Authenticator.app" source_folder | |
cp resources/icons/dmg-background.png . | |
sh create-dmg.sh | |
- name: Rename and archive app bundle | |
run: | | |
export REF=$(echo ${GITHUB_REF} | cut -d '/' -f 3) | |
mkdir deploy | |
mv yubioath-desktop.dmg deploy | |
tar -czf deploy/yubioath-desktop-${REF}.app.tar.gz -C build/macos/Build/Products/Release "Yubico Authenticator.app" | |
mv create-dmg.sh deploy | |
mv resources/icons/dmg-background.png deploy | |
mv macos/helper.entitlements deploy | |
mv macos/helper-sandbox.entitlements deploy | |
mv macos/Runner/Release.entitlements deploy | |
mv macos/release-macos.sh deploy | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: yubioath-desktop-macos | |
path: deploy |