name: Build Glove80 Firmware on: push: paths: - ".github/workflows/nix-build.yml" - "default.nix" - "app/**" - "nix/**" branches: - '**' tags: - '**' pull_request: paths: - ".github/workflows/nix-build.yml" - "default.nix" - "app/**" - "nix/**" jobs: build: name: Build Glove80 Firmware runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 - uses: cachix/install-nix-action@v16 with: nix_path: nixpkgs=channel:nixos-22.05 - uses: cachix/cachix-action@v12 with: name: moergo-glove80-zmk-dev authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' skipPush: "${{ github.repository != 'moergo-sc/zmk' }}" - name: Build Glove80 combined firmware run: nix-build -A glove80_combined -o combined - name: Copy result out of nix store run: cp combined/glove80.uf2 glove80.uf2 - name: Upload result uses: actions/upload-artifact@v3 with: name: glove80.uf2 path: glove80.uf2 release: name: Create Release for Tag if: >- github.repository == 'moergo-sc/zmk' && github.event_name == 'push' && contains(github.ref, 'refs/tags/v') needs: build runs-on: ubuntu-latest steps: - name: Download compiled firmware artifact uses: actions/download-artifact@v3 with: name: glove80.uf2 - name: Create Release for Tag uses: ncipollo/release-action@v1 with: artifacts: "glove80.uf2" artifactErrorsFailBuild: true generateReleaseNotes: true