From 464d01fe4e24b8da4a0ba81087a6de3d429c4122 Mon Sep 17 00:00:00 2001 From: Dimitri Koshkin Date: Mon, 29 Apr 2024 13:17:51 -0700 Subject: [PATCH 1/3] ci: check git status --- .github/workflows/checks.yml | 3 +++ make/repo.mk | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index aa52f9d8c..bda1ba672 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -171,6 +171,9 @@ jobs: env: SKIP: no-commit-to-branch,golangci-lint,actionlint-system + - name: Run git status and fail on a dirty state + run: devbox run -- make git.status + lint-test-helm: runs-on: ubuntu-22.04 steps: diff --git a/make/repo.mk b/make/repo.mk index c5004bd3f..2de7fa868 100644 --- a/make/repo.mk +++ b/make/repo.mk @@ -17,3 +17,10 @@ ifneq ($(shell git status --porcelain 2>/dev/null; echo $$?), 0) else export GIT_TREE_STATE := endif + +.PHONY: git.status +git.status: ## Returns exit code of 1 if the git tree is dirty + @if [ -n "$(GIT_TREE_STATE)" ]; then \ + git status --porcelain 2>/dev/null; \ + exit 1; \ + fi From 23655424dda6ee2cfe7d7ae1194cad4b7e480def Mon Sep 17 00:00:00 2001 From: Dimitri Koshkin Date: Mon, 29 Apr 2024 13:46:29 -0700 Subject: [PATCH 2/3] ci: use changed-files GHA to check for dirty git state --- .github/workflows/checks.yml | 11 +++++++++-- make/repo.mk | 7 ------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index bda1ba672..d50dea4b1 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -171,8 +171,15 @@ jobs: env: SKIP: no-commit-to-branch,golangci-lint,actionlint-system - - name: Run git status and fail on a dirty state - run: devbox run -- make git.status + - name: Get changed files since last commit + id: changed-files + uses: tj-actions/changed-files@v44 + - name: Fail if there are changed files + if: steps.changed-files.outputs.any_changed + uses: actions/github-script@v3 + with: + script: | + core.setFailed('Discovered changed files: ${{ steps.changed-files.outputs.all_changed_files }}') lint-test-helm: runs-on: ubuntu-22.04 diff --git a/make/repo.mk b/make/repo.mk index 2de7fa868..c5004bd3f 100644 --- a/make/repo.mk +++ b/make/repo.mk @@ -17,10 +17,3 @@ ifneq ($(shell git status --porcelain 2>/dev/null; echo $$?), 0) else export GIT_TREE_STATE := endif - -.PHONY: git.status -git.status: ## Returns exit code of 1 if the git tree is dirty - @if [ -n "$(GIT_TREE_STATE)" ]; then \ - git status --porcelain 2>/dev/null; \ - exit 1; \ - fi From 9267ae209933f350a1e5ec69b463aae15fbdfe70 Mon Sep 17 00:00:00 2001 From: Jimmi Dyson Date: Tue, 30 Apr 2024 11:45:26 +0100 Subject: [PATCH 3/3] fixup! build: Add pre-commit hook for devbox.lock file --- .github/workflows/checks.yml | 10 ------- .pre-commit-config.yaml | 6 ++++ devbox.lock | 56 ++++++++++++++++++++++++++++++++---- 3 files changed, 56 insertions(+), 16 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index d50dea4b1..aa52f9d8c 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -171,16 +171,6 @@ jobs: env: SKIP: no-commit-to-branch,golangci-lint,actionlint-system - - name: Get changed files since last commit - id: changed-files - uses: tj-actions/changed-files@v44 - - name: Fail if there are changed files - if: steps.changed-files.outputs.any_changed - uses: actions/github-script@v3 - with: - script: | - core.setFailed('Discovered changed files: ${{ steps.changed-files.outputs.all_changed_files }}') - lint-test-helm: runs-on: ubuntu-22.04 steps: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a418dccad..6fff4fe24 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,6 +40,12 @@ repos: language: system files: "^(hack/addons/|charts/cluster-api-runtime-extensions-nutanix/templates/.+|make/addons.mk$)" pass_filenames: false + - id: check-devbox-lock + name: check-devbox-lock + entry: devbox install + language: system + files: "^devbox.(yaml|lock)$" + pass_filenames: false - repo: https://github.com/tekwizely/pre-commit-golang rev: v1.0.0-rc.1 hooks: diff --git a/devbox.lock b/devbox.lock index 26bce3cd8..5cba29259 100644 --- a/devbox.lock +++ b/devbox.lock @@ -590,22 +590,66 @@ } }, "yamllint@latest": { - "last_modified": "2024-03-08T13:51:52Z", - "resolved": "github:NixOS/nixpkgs/a343533bccc62400e8a9560423486a3b6c11a23b#yamllint", + "last_modified": "2024-04-19T17:36:04-04:00", + "resolved": "github:NixOS/nixpkgs/92d295f588631b0db2da509f381b4fb1e74173c5#yamllint", "source": "devbox-search", "version": "1.35.1", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/shw3d5hqv1kjsxgs6favbb6icdf5zspz-python3.11-yamllint-1.35.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/vd7zfjfphrbp62z5a355km2k1b5pcna2-python3.11-yamllint-1.35.1", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/81v5lk1warbhybasxf50af3p1bckypri-python3.11-yamllint-1.35.1-dist" + } + ], + "store_path": "/nix/store/vd7zfjfphrbp62z5a355km2k1b5pcna2-python3.11-yamllint-1.35.1" }, "aarch64-linux": { - "store_path": "/nix/store/qhciblsdwcx382ybhv4qy3pv321rprpn-python3.11-yamllint-1.35.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/alway1qh97cggix9vmfpscs22hzflc77-python3.11-yamllint-1.35.1", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/5y3sw452d4anxs88j15vissb7q6qyi5a-python3.11-yamllint-1.35.1-dist" + } + ], + "store_path": "/nix/store/alway1qh97cggix9vmfpscs22hzflc77-python3.11-yamllint-1.35.1" }, "x86_64-darwin": { - "store_path": "/nix/store/0qjkix7ixdmh056zg2w98yqfx31ip722-python3.11-yamllint-1.35.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/i67vc49gcvlvx1z8is15nb3k5yqvnqjr-python3.11-yamllint-1.35.1", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/zclqzl9lfajahf4pxw88gv1k52gv1cx4-python3.11-yamllint-1.35.1-dist" + } + ], + "store_path": "/nix/store/i67vc49gcvlvx1z8is15nb3k5yqvnqjr-python3.11-yamllint-1.35.1" }, "x86_64-linux": { - "store_path": "/nix/store/04jdxm8pyzbsg9vjgs0y1piglnn6bzny-python3.11-yamllint-1.35.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/6bak83f1ib271wfl5ybw4m7vw5qr34kk-python3.11-yamllint-1.35.1", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/hl6l62im8mnxldvqpifi62n8abnwbi93-python3.11-yamllint-1.35.1-dist" + } + ], + "store_path": "/nix/store/6bak83f1ib271wfl5ybw4m7vw5qr34kk-python3.11-yamllint-1.35.1" } } }