From 6e8bcbd78bd1f98f0f011609991f38286be64d3d Mon Sep 17 00:00:00 2001 From: jiriks74 Date: Fri, 29 Nov 2024 03:02:16 +0100 Subject: [PATCH] feat(ci): Add nix flake ci actions --- .github/workflows/check.yml | 47 ++++++++++++++++++++++++++++++++++++ .github/workflows/update.yml | 28 +++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 .github/workflows/check.yml create mode 100644 .github/workflows/update.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..5c1a55f --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,47 @@ +name: Perform checks + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + formatting: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install nix + uses: DeterminateSystems/nix-installer-action@main + - name: Restore and cache Nix store + uses: nix-community/cache-nix-action@v5 + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Check Nix flake inputs + uses: DeterminateSystems/flake-checker-action@v4 # This action + - name: Run nix fmt + run: nix fmt -- --check . + + nix_flake_check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install nix + uses: DeterminateSystems/nix-installer-action@main + - name: Restore and cache Nix store + uses: nix-community/cache-nix-action@v5 + - name: Check Nix flake inputs + uses: DeterminateSystems/flake-checker-action@v4 # This action + - name: Run nix flake check + run: nix flake check + + nix_build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install nix + uses: DeterminateSystems/nix-installer-action@main + - name: Restore and cache Nix store + uses: nix-community/cache-nix-action@v5 + - name: Check Nix flake inputs + uses: DeterminateSystems/flake-checker-action@v4 # This action + - name: Build nvim + run: nix build .\#default diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..1294aea --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,28 @@ +name: Update `flake.lock` +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 0' # runs weekly on Sunday at 00:00 + +jobs: + update_lockfile: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install nix + uses: DeterminateSystems/nix-installer-action@main + - name: Restore and cache Nix store + uses: nix-community/cache-nix-action@v5 + - name: Update flake.lock + uses: DeterminateSystems/update-flake-lock@main + with: + # inputs: dzgui dzgui-testing # We'll see whether I want to limit the updates to dzgui + token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + pr-title: "Update flake.lock" + pr-assignees: jiriks74 + pr-labels: | + flake.lock + automated + - name: Print PR number + run: echo Pull request number is ${{ steps.update.outputs.pull-request-number }}.