name: "macOS build" on: push: branches: [ main, stable ] paths-ignore: - 'README.md' - 'SECURITY.md' - '.gitmodules' - '.gitignore' - 'LICENSE' - 'cider.lock' jobs: build-macos: name: build-macos runs-on: macos-11 permissions: actions: read contents: write security-events: write strategy: fail-fast: false matrix: language: [ 'javascript' ] steps: - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '12.4' - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Change Version env: REQUEST_TOKEN: ${{ secrets.RELEASE_TOKEN }} run: sudo chmod +x resources/version.sh && ./resources/version.sh || true - name: Sign in to EVS run: | python3 -m pip install --upgrade castlabs-evs python3 -m castlabs_evs.account refresh -A ${{ secrets.EVS_ACCOUNT_NAME }} -P ${{ secrets.EVS_PASSWD }} - name: Setup Environment run: brew install automake #libtool autoconf - name: Install and Configure Node Modules run: | yarn install cp resources/verror-types node_modules/@types/verror/index.d.ts cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js rm -r node_modules/pouchdb-node/node_modules/leveldown rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown - name: Build the DMG env: CSC_LINK: ${{ secrets.CSC_LINK }} CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} APPLEID: ${{ secrets.APPLEID }} APPLEIDPASS: ${{ secrets.APPLEIDPASS }} APPLE_ID: ${{ secrets.APPLEID }} APPLE_ID_PASSWORD: ${{ secrets.APPLEIDPASS }} PSC_NAME: ${{ secrets.PSC_NAME }} DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer run: yarn dist:universalNotWorking -p never - name: Add license to DMG run: npx dmg-license resources/license.json dist/*.dmg - name: Upload DMG uses: svenstaro/upload-release-action@v2 with: repo_name: ciderapp/cider-releases repo_token: ${{ secrets.RELEASE_TOKEN }} file: dist/Cider-${{ env.APP_VERSION }}-universal.dmg tag: v${{ env.APP_VERSION }} - name: Upload macOS Latest uses: svenstaro/upload-release-action@v2 with: repo_name: ciderapp/cider-releases repo_token: ${{ secrets.RELEASE_TOKEN }} file: dist/latest-mac.yml tag: v${{ env.APP_VERSION }} - name: Import uses: apple-actions/import-codesign-certs@v1 with: p12-file-base64: ${{ secrets.CSC_LINK }} p12-password: ${{ secrets.CSC_KEY_PASSWORD }} - name: Build the PKG env: CSC_LINK: ${{ secrets.CSC_LINK }} CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} APPLEID: ${{ secrets.APPLEID }} APPLEIDPASS: ${{ secrets.APPLEIDPASS }} run: | pkgbuild --component dist/mac-universal/Cider.app --install-location /Applications dist/Cider-${{ env.APP_VERSION }}-universal.pkg --sign ${{ secrets.PSC_NAME }} xcrun altool --notarize-app --primary-bundle-id com.ciderapp.cider -f dist/Cider*.pkg --username ${{ secrets.APPLEID }} --password ${{ secrets.APPLEIDPASS }} sleep 5m xcrun stapler staple dist/Cider*.pkg || true - name: Upload PKG uses: svenstaro/upload-release-action@v2 with: repo_name: ciderapp/cider-releases repo_token: ${{ secrets.RELEASE_TOKEN }} file: dist/Cider-${{ env.APP_VERSION }}-universal.pkg tag: v${{ env.APP_VERSION }} - name: Upload a Build Artifact uses: actions/upload-artifact@v2.2.3 with: name: Cider-macOS-${{ env.APP_VERSION }} path: | dist/*.dmg dist/*.pkg dist/latest-mac.yml