From 0eef5abf3f5bd956aef97f1be66a42c8fad2e3bc Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 3 Nov 2023 11:30:38 +0300 Subject: [PATCH] CI: build & cache --- .github/workflows/build.yml | 23 ++++++++++++++++++++++ .github/workflows/nix.yml | 24 +++++++++++++++++++++++ .github/workflows/update-flake.yml | 31 ++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/nix.yml create mode 100644 .github/workflows/update-flake.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..def7a37 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,23 @@ +name: Build + +on: + workflow_call: + secrets: + CACHIX_AUTH_TOKEN: + required: false + +jobs: + build: + strategy: + matrix: + package: + - foot-transparent + - cloneit + - mov-cli + - rat + - ani-cli + + uses: ./.github/workflows/nix.yml + with: + command: nix build -L .#${{ matrix.package }} + secrets: inherit diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml new file mode 100644 index 0000000..5fe2892 --- /dev/null +++ b/.github/workflows/nix.yml @@ -0,0 +1,24 @@ +name: Nix + +on: + workflow_call: + inputs: + command: + required: true + type: string + secrets: + CACHIX_AUTH_TOKEN: + required: false + +jobs: + nix: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: cachix/cachix-action@v12 + with: + name: nix-gaming + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - run: ${{ inputs.command }} diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml new file mode 100644 index 0000000..a834fc7 --- /dev/null +++ b/.github/workflows/update-flake.yml @@ -0,0 +1,31 @@ +name: Update flake + +on: + schedule: + - cron: "0 0 * * 0" # weekly + +jobs: + update: + if: github.repository == 'notashelf/nyxpkgs' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - uses: DeterminateSystems/nix-installer-action@main + + - uses: cachix/cachix-action@v12 + with: + name: nix-gaming + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + + - run: nix flake update + + - uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: "Update flake" + + build: + needs: update + uses: ./.github/workflows/build.yml + secrets: inherit