Skip to content

Update Windows builder, use libmpeg2 mirror #33

Update Windows builder, use libmpeg2 mirror

Update Windows builder, use libmpeg2 mirror #33

Workflow file for this run

name: macOS_x86-64
on:
push:
branches:
- fs-uae-3
- master
- stable
- test
pull_request:
branches:
- fs-uae-3
- master
- stable
jobs:
macOS_x86-64:
runs-on: macos-13
env:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
DROPBOX_APP_KEY: ${{ secrets.DROPBOX_APP_KEY }}
DROPBOX_APP_SECRET: ${{ secrets.DROPBOX_APP_SECRET }}
DROPBOX_REFRESH_TOKEN: ${{ secrets.DROPBOX_REFRESH_TOKEN }}
SIGNING_ENABLED: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }}
steps:
- name: Install brew packages
run: brew install autoconf automake dos2unix libtool meson
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache dependencies
uses: actions/cache@v4
id: build_env_cache
with:
path: build/env/_prefix
key: build_env_${{ hashFiles('build/env/**/*') }}_${{ runner.os }}_${{ runner.arch }}
- name: Build dependencies
if: steps.build_env_cache.outputs.cache-hit != 'true'
run: |
build/env/setup
- name: Bootstrap
if: hashFiles('fsbuild/bootstrap') != ''
run: |
build/env/shell fsbuild/bootstrap
- name: Configure
if: hashFiles('fsbuild/configure') != ''
run: |
build/env/shell fsbuild/configure
- name: Build
run: |
build/env/shell fsbuild/make
- name: Bundle
run: |
fsbuild/bundle
- name: Prepare signing certificate
if: env.SIGNING_ENABLED != null
env:
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }}
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
run: |
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12
security create-keychain -p $KEYCHAIN_PASSWORD build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain
security import certificate.p12 -k build.keychain -P $SIGNING_CERTIFICATE_PASSWORD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k $KEYCHAIN_PASSWORD build.keychain
- name: Sign
if: env.SIGNING_ENABLED != null
run: |
fsbuild/sign
- name: Notarize
if: env.SIGNING_ENABLED != null
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: |
fsbuild/notarize
- name: Archive
run: |
fsbuild/archive
- name: Install appdmg
if: hashFiles('fsbuild/build-dmg') != ''
run: |
npm install -g appdmg
- name: Build DMG
if: hashFiles('fsbuild/build-dmg') != ''
run: |
fsbuild/build-dmg
- name: Unlock keychain again
if: env.SIGNING_ENABLED != null
env:
KEYCHAIN_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
SIGNING_CERTIFICATE_P12_DATA: ${{ secrets.MACOS_CERTIFICATE_P12_DATA }}
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
run: |
echo $SIGNING_CERTIFICATE_P12_DATA | base64 --decode > certificate.p12
security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain
- name: Sign DMG
if: hashFiles('fsbuild/sign-dmg') != '' && env.SIGNING_ENABLED != null
run: |
fsbuild/sign-dmg
- name: Notarize DMG
if: hashFiles('fsbuild/notarize-dmg') != '' && env.SIGNING_ENABLED != null
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: |
fsbuild/notarize-dmg
- uses: actions/upload-artifact@v4
with:
name: macOS_x86-64
path: fsbuild/_dist/*
- name: Upload to Dropbox
if: >-
env.DROPBOX_REFRESH_TOKEN != null && (
github.ref == 'refs/heads/beta' ||
github.ref == 'refs/heads/dev' ||
github.ref == 'refs/heads/main' ||
github.ref == 'refs/heads/master' ||
github.ref == 'refs/heads/stable' ||
github.ref == 'refs/heads/test'
)
run: |
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install dropbox==12.0.2
fsbuild/upload