From 321ed2ed9658f323a74a63a721d7ba0af35625c1 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 | 44 ++++++++++++++++++++++++++++++++++++ .github/workflows/update.yml | 26 +++++++++++++++++++++ 2 files changed, 70 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..4762344 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,44 @@ +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 + - 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 + - uses: DeterminateSystems/magic-nix-cache-action@main + - 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: Check Nix flake inputs + uses: DeterminateSystems/flake-checker-action@v4 # This action + - name: Build dzgui + run: nix build .\#default + - name: Build dzgui-testing + run: nix build .\#nvim diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..850c0eb --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,26 @@ +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: 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 }}.