check-pr-title-2 #2982
Workflow file for this run
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: Build macOS M1 | |
on: [push, pull_request] | |
jobs: | |
pre_job: | |
if: github.repository == 'laurent22/joplin' | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
concurrent_skipping: 'same_content_newer' | |
Main: | |
needs: pre_job | |
# We always process desktop release tags, because they also publish the release | |
if: github.repository == 'laurent22/joplin' && (needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/v')) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: olegtarasov/[email protected] | |
- uses: actions/setup-node@v2 | |
with: | |
# We need to pin the version to 18.15, because 18.16+ fails with this error: | |
# https://github.com/facebook/react-native/issues/36440 | |
node-version: '18.15.0' | |
cache: 'yarn' | |
- name: Install Yarn | |
run: | | |
# https://yarnpkg.com/getting-started/install | |
corepack enable | |
# See github-action-main.yml for explanation | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Build macOS M1 app | |
env: | |
APPLE_ASC_PROVIDER: ${{ secrets.APPLE_ASC_PROVIDER }} | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} | |
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CSC_KEY_PASSWORD }} | |
CSC_LINK: ${{ secrets.APPLE_CSC_LINK }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_REPO: ${{ github.repository }} | |
IS_CONTINUOUS_INTEGRATION: 1 | |
BUILD_SEQUENCIAL: 1 | |
run: | | |
export npm_config_arch=arm64 | |
export npm_config_target_arch=arm64 | |
yarn install | |
cd packages/app-desktop | |
npm pkg set 'build.mac.artifactName'='${productName}-${version}-${arch}.${ext}' | |
npm pkg set 'build.mac.target.target'='dmg' | |
npm pkg set 'build.mac.target.arch[0]'='arm64' | |
if [[ $GIT_TAG_NAME = v* ]]; then | |
echo "Building and publishing desktop application..." | |
PYTHON_PATH=$(which python) USE_HARD_LINKS=false yarn run dist --mac --arm64 | |
yarn renameReleaseAssets --repo="$GH_REPO" --tag="$GIT_TAG_NAME" --token="$GITHUB_TOKEN" | |
else | |
echo "Building but *not* publishing desktop application..." | |
# We also want to disable signing the app in this case, because | |
# it doesn't work and we don't need it. | |
# https://www.electron.build/code-signing#how-to-disable-code-signing-during-the-build-process-on-macos | |
export CSC_IDENTITY_AUTO_DISCOVERY=false | |
npm pkg set 'build.mac.identity'=null --json | |
PYTHON_PATH=$(which python) USE_HARD_LINKS=false yarn run dist --mac --arm64 --publish=never | |
fi |