name: Release App on: push: tags: - "v*.*.*" paths-ignore: - 'README.md' - 'docs/**' - '.vscode' pull_request: branches: - master paths-ignore: - 'docs/**' - 'README.md' - '.vscode' concurrency: group: release-ci-group cancel-in-progress: true jobs: Linux: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: 'true' - name: Install Snapcraft uses: samuelmeuli/action-snapcraft@v1 with: snapcraft_token: ${{ secrets.SNAP_TOKEN }} - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 14.x - name: Get npm cache directory uses: actions/cache@v2 with: path: | ~/.npm **/node_modules key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - name: Install dependencies run: npm ci - name: Make Linux (x64) run: npm run make:linux-x64 env: CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Make Linux (arm64) run: npm run make:linux-arm env: CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: out/make/**/* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Get Renderer Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: renderer webpack-stats-path: 'out/webpack-stats-renderer.json' repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Get Main Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: main webpack-stats-path: 'out/webpack-stats-main.json' repo-token: ${{ secrets.GITHUB_TOKEN }} MacOS: runs-on: macos-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: 'true' - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 14.x - name: Get npm cache directory uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} ${{ runner.os }}-node- - name: Install dependencies run: npm ci - name: Make macOS (x64) run: npm run make:mac-x64 env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Make macOS (arm64) run: npm run make:mac-arm env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: out/make/**/* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Get Renderer Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: renderer webpack-stats-path: 'out/webpack-stats-renderer.json' repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Get Main Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: main webpack-stats-path: 'out/webpack-stats-main.json' repo-token: ${{ secrets.GITHUB_TOKEN }} Windows: runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: 'true' - name: Set up CV dependency for pngquant-bin uses: ilammy/msvc-dev-cmd@v1 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 14.x - name: Get npm cache directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - uses: actions/cache@v2 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} ${{ runner.os }}-node- - name: Install dependencies run: npm ci - name: Make Windows (x64) run: npm run make:win-x64 env: CSC_LINK: ${{ secrets.WIN_CERT }} CSC_KEY_PASSWORD: ${{ secrets.WIN_CERT_PASS }} CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Make Windows (arm64) run: npm run make:win-arm env: CSC_LINK: ${{ secrets.WIN_CERT }} CSC_KEY_PASSWORD: ${{ secrets.WIN_CERT_PASS }} CI: true CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: out/make/**/*.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Get Renderer Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: renderer webpack-stats-path: 'out/webpack-stats-renderer.json' repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Get Main Bundle Stats uses: vio/bundle-stats-action@v1.3.0 with: id: main webpack-stats-path: 'out/webpack-stats-main.json' repo-token: ${{ secrets.GITHUB_TOKEN }}