name: Master on: push: branches: - master jobs: # publish to gh-pages (& IPFS when a release is detected) www: strategy: matrix: step: ['build:release:www'] name: ${{ matrix.step }} if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && github.repository == 'polkadot-js/apps'" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: token: ${{ secrets.GH_PAT }} - name: ${{ matrix.step }} env: CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }} GH_PAGES_SRC: packages/apps/build GH_PAT: ${{ secrets.GH_PAT }} GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }} PINATA_SECRET_KEY: ${{ secrets.PINATA_SECRET_KEY }} run: | yarn install --immutable | grep -v 'YN0013' yarn ${{ matrix.step }} # only run on "CI skip", i.e. when the actual version has been bumped to release/stable docker: name: docker if: "startsWith(github.event.head_commit.message, '[CI Skip] release/stable') && github.repository == 'polkadot-js/apps'" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: docker env: DOCKER_PASS: ${{ secrets.DOCKER_PASS }} run: | ./scripts/docker.sh # only run on "CI skip", i.e. when the actual version has been bumped to release/stable electron: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} if: "startsWith(github.event.head_commit.message, '[CI Skip] release/stable') && github.repository == 'polkadot-js/apps'" name: ${{ matrix.os }} steps: - uses: actions/checkout@v1 with: token: ${{ secrets.GH_PAT }} - name: Prepare for app notarization (macOS) if: startsWith(matrix.os, 'macos') # Import Apple API key for app notarization on macOS run: | mkdir -p ~/private_keys/ echo '${{ secrets.API_KEY }}' > ~/private_keys/AuthKey_${{ secrets.API_KEY_ID }}.p8 - name: Build/release Electron app uses: samuelmeuli/action-electron-builder@v1 with: # Base64-encoded code signing certificate for macOS mac_certs: ${{ secrets.MAC_CERTS }} # Password for decrypting `mac_certs` mac_certs_password: ${{ secrets.MAC_CERTS_PASSWORD }} # Base64-encoded code signing certificate for Windows windows_certs: ${{ secrets.WINDOWS_CERTS }} # Password for decrypting `windows_certs` windows_certs_password: ${{ secrets.WINDOWS_CERTS_PASSWORD }} # GitHub token, automatically provided to the action # (No need to define this secret in the repo settings) github_token: ${{ secrets.GITHUB_TOKEN }} build_script_name: build:release:electron # If the commit is tagged with a version (e.g. "v1.0.0"), # release the app after building release: ${{ startsWith(github.ref, 'refs/tags/v') }} env: # macOS notarization API key API_KEY_ID: ${{ secrets.API_KEY_ID }} API_KEY_ISSUER_ID: ${{ secrets.API_KEY_ISSUER_ID }} # dummy, GH actions fails outright when all steps are skipped (like it can be above) dummy: runs-on: ubuntu-latest steps: - name: dummy run: | echo "Dummy skip step"