diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a69d08e9..4264deb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,24 +16,59 @@ on: jobs: format: - name: Check formatting + name: Format Nix files + + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Get short revision + id: rev + run: + echo "rev=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - name: Install Nix - uses: cachix/install-nix-action@V27 + uses: cachix/install-nix-action@v27 - - name: Run formatter + - name: Format changes run: | - nix run --inputs-from ./dev nixpkgs#nixpkgs-fmt -- . + nix run \ + --inputs-from ./dev \ + 'nixpkgs#nixfmt-rfc-style' -- . + + - name: Commit changes + env: + GITHUB_TOKEN: ${{ secrets.PUSH_TOKEN }} + uses: planetscale/ghcommit-action@v0.1.39 + with: + commit_message: "style: format ${{ steps.rev.outputs.rev }}" + repo: "${{ github.repository }}" + branch: "${{ github.head_ref || github.ref_name }}" + + validate-sources: + name: Validate sources + + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Nix + uses: cachix/install-nix-action@V27 - - name: Check for changes - run: git diff --color=always --exit-code + - name: Check for external repositories + run: | + set -e + nix eval --file ./.github/checkSources.nix vm: name: Test Modules + runs-on: ubuntu-latest strategy: @@ -41,7 +76,8 @@ jobs: test: [unstable, stable] steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - name: Install Nix uses: cachix/install-nix-action@V27 diff --git a/.github/workflows/validate-sources.yml b/.github/workflows/validate-sources.yml deleted file mode 100644 index 44f42d6d..00000000 --- a/.github/workflows/validate-sources.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Validate sources -# Per CONTRIBUTING.md, we do not accept unofficial ports. This enforces -# that policy and ensures all sources are only from the official GitHub org - -on: - push: - paths: - - '.sources/**' - pull_request: - paths: - - '.sources/**' - workflow_dispatch: - -jobs: - check: - name: Check for external repositories - - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Nix - uses: cachix/install-nix-action@V27 - - - name: Run check - run: | - set -e - nix eval --file ./.github/checkSources.nix diff --git a/.github/workflows/deploy.yml b/.github/workflows/website.yml similarity index 100% rename from .github/workflows/deploy.yml rename to .github/workflows/website.yml diff --git a/dev/flake.nix b/dev/flake.nix index 7c4de8e7..b84bd482 100644 --- a/dev/flake.nix +++ b/dev/flake.nix @@ -63,7 +63,7 @@ }; }); - formatter = forAllSystems (pkgs: pkgs.nixpkgs-fmt); + formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); packages = forAllSystems ({ lib, pkgs, system, ... }: let