name: Build on: pull_request: branches: - '*' push: branches: - 'master' jobs: build: strategy: matrix: container: - archlinux:latest runs-on: ubuntu-latest container: image: ${{ matrix.container }} steps: - name: Checkout uses: actions/checkout@v4 - name: Build run: sh ./.github/workflows/build.sh - name: Upload Arch artifact uses: actions/upload-artifact@v4 with: path: ./dist/*.pkg.tar.zst name: arch-packages - name: Upload Deb artifact uses: actions/upload-artifact@v4 with: path: ./dist/*.deb name: deb-packages - name: Upload Asar artifacts uses: actions/upload-artifact@v4 with: path: ./dist/*.asar name: asar-packages nix-build: runs-on: ubuntu-latest env: NIXPKGS_ALLOW_UNFREE: 1 steps: - name: Checkout uses: actions/checkout@v4 - name: Install nix uses: cachix/install-nix-action@v22 - name: Build run: sh ./.github/workflows/build.sh - name: Upload artifact uses: actions/upload-artifact@v4 with: path: ./result/* name: nix-package upload-release: if: github.ref == 'refs/heads/master' runs-on: ubuntu-latest needs: [build, nix-build] steps: - name: Checkout uses: actions/checkout@v4 - name: Download artifact uses: actions/download-artifact@v4 with: merge-multiple: true path: dist - name: Retrieve version run: sh ./.github/workflows/retrieve_version.sh - name: Upload files to a GitHub release uses: ncipollo/release-action@v1.13.0 with: allowUpdates: true artifacts: dist/* makeLatest: true name: ${{ env.release_name }} replacesArtifacts: true tag: ${{ env.tag_name }}