diff --git a/.github/dependency-policy.json b/.github/dependency-policy.json index 65b693c..f3023cf 100644 --- a/.github/dependency-policy.json +++ b/.github/dependency-policy.json @@ -11,7 +11,8 @@ "managed_dependencies": [ "aviorstudio/gdam-actions/*", "nicodes/komizo-actions/*", - "nicodes/komizo/*" + "nicodes/komizo/*", + "nicodes/tools/*" ], "sensitive_dependencies": [ "*clerk*", diff --git a/.github/komizo-action-source.json b/.github/komizo-action-source.json deleted file mode 100644 index 34636a1..0000000 --- a/.github/komizo-action-source.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": 1, - "platform_revision": "1b740f28682948a2d5eb4613744bb262d2056e6c", - "action_revision": "2ca94e2fd4bb05f41bb228e9c366e5cc733c75e6" -} diff --git a/.github/readme-source.json b/.github/readme-source.json index 1e1152b..8f1b353 100644 --- a/.github/readme-source.json +++ b/.github/readme-source.json @@ -1,6 +1,6 @@ { "version": 1, - "sha256": "b0008a20f0336bdc0cade112310947098eadf2e3ce51e9f65fc07d0be8c8c47d", + "sha256": "b86f55067c7d834c18cc3426a6ab3a61507b688b0b95fe7074d31c2d1a50852f", "history": { "forbidden_commits": [ "0eb77f25b1b2c0df30fb7a80abb435bf5bd65724" diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6e96715..7492157 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -25,12 +25,12 @@ jobs: steps: - name: Check out source uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - - name: Set up locked komizo - uses: nicodes/komizo/setup@2ca94e2fd4bb05f41bb228e9c366e5cc733c75e6 + - name: Set up development tools + uses: nicodes/tools/setup@091101094fedf5ce2e67c339c1c9c842d6a662dc env: GH_TOKEN: ${{ github.token }} - name: Validate and build the redirect - run: komizo check + run: mise run check - name: Configure GitHub Pages uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d - name: Upload the static site diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d57bf54..60eadb4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,8 +26,8 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: persist-credentials: false - - name: Set up locked komizo - uses: nicodes/komizo/setup@2ca94e2fd4bb05f41bb228e9c366e5cc733c75e6 + - name: Set up development tools + uses: nicodes/tools/setup@091101094fedf5ce2e67c339c1c9c842d6a662dc env: GH_TOKEN: ${{ github.token }} timeout-minutes: 5 @@ -35,13 +35,7 @@ jobs: if: github.event_name == 'pull_request' env: EXPECTED_HEAD: ${{ github.event.pull_request.head.sha }} - run: 'komizo exec --tools python -- bash -euo pipefail <<''KOMIZO_COMMAND'' - - python3 "$CICD_ENGINEERING/helpers/integration-identity.py" - - KOMIZO_COMMAND - - ' + run: python3 "$TOOLS_ROOT/helpers/integration-identity.py" - name: Upload artifacts if: github.event_name == 'pull_request' uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 @@ -52,9 +46,10 @@ jobs: retention-days: 7 include-hidden-files: true - name: Check project - uses: nicodes/komizo/run@2ca94e2fd4bb05f41bb228e9c366e5cc733c75e6 - with: - target: check + shell: bash + run: |- + set -euo pipefail + mise run check - name: Upload artifacts uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 with: diff --git a/.github/workflows/dependency-policy.yml b/.github/workflows/dependency-policy.yml index a7f0e0f..d3c095f 100644 --- a/.github/workflows/dependency-policy.yml +++ b/.github/workflows/dependency-policy.yml @@ -26,8 +26,8 @@ concurrency: jobs: auto-merge: name: Apply dependency policy - if: github.ref == 'refs/heads/main' && (github.event_name != 'pull_request_target' || (github.event.pull_request.user.login == 'dependabot[bot]' - && github.event.pull_request.draft == false)) + if: github.ref == 'refs/heads/main' && (github.event_name != 'pull_request_target' || (github.event.pull_request.user.login + == 'dependabot[bot]' && github.event.pull_request.draft == false)) runs-on: ubuntu-24.04 timeout-minutes: 15 permissions: @@ -44,16 +44,14 @@ jobs: persist-credentials: false ref: main timeout-minutes: 3 - - name: Set up locked komizo - uses: nicodes/komizo/setup@2ca94e2fd4bb05f41bb228e9c366e5cc733c75e6 - env: - GH_TOKEN: ${{ github.token }} - timeout-minutes: 5 - name: Reconcile verified dependency updates - run: komizo dependencies apply --output "$RUNNER_TEMP/dependency-report.json" env: GH_TOKEN: ${{ github.token }} timeout-minutes: 7 + uses: nicodes/tools/dependencies@091101094fedf5ce2e67c339c1c9c842d6a662dc + with: + apply: 'true' + output: ${{ runner.temp }}/dependency-report.json - name: Upload artifacts if: always() uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 diff --git a/.gitignore b/.gitignore index 886ff51..f3edbb3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ .artifacts/ __pycache__/ - -.komizo.mise*.toml - -.komizo.mise*.lock +/.ci-tools/ diff --git a/README.md b/README.md index 4680d25..a3255f3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,20 @@ - + # aviorstudio.github.io Static redirect to [Avior Studio](https://www.avior.studio/). -Install the [komizo release](https://github.com/nicodes/komizo#install) matching `komizo.lock`, then run `komizo check`. Use `komizo describe` to inspect the applicable stages. +Install [mise](https://mise.jdx.dev/) and run `mise install`, then run `mise run check`. Use `mise tasks ls` to inspect the applicable stages. + +## Contributor verification + +Tool versions and native tasks live in `mise.toml`. Prepare the pinned helper source and run the complete gate: + +```sh +git clone https://github.com/nicodes/tools.git .ci-tools +git -C .ci-tools checkout --detach 091101094fedf5ce2e67c339c1c9c842d6a662dc +mise install +mise run check +``` + +Native build and test commands retain source and output checks, with receipts in `.artifacts/verification`. Existing product release rules and artifacts remain owned by this repository. End users install the product’s published distribution. diff --git a/komizo.json b/komizo.json deleted file mode 100644 index 88f7a6a..0000000 --- a/komizo.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "version": 1, - "recipe": "configuration", - "repository": "aviorstudio/aviorstudio.github.io", - "tools": { - "actionlint": "1.7.12" - }, - "artifacts": [ - ".artifacts/dist" - ], - "stages": { - "lint": [ - [ - "python3", - "scripts/check.py" - ], - [ - "actionlint" - ] - ], - "unit": { - "inapplicable": "The redirect invariants are checked by the lint gate" - }, - "build": [ - [ - "python3", - "scripts/check.py", - "--build" - ] - ] - }, - "validation": { - "workflow": { - "required": [ - "ci.yml", - "dependency-policy.yml" - ], - "ci_gates": [ - "Test" - ] - } - } -} diff --git a/komizo.lock b/komizo.lock deleted file mode 100644 index 6a851a4..0000000 --- a/komizo.lock +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": 1, - "platform": "0.2.7", - "platform_revision": "1b740f28682948a2d5eb4613744bb262d2056e6c", - "manifest_sha256": "f605f9b8126a0fdab262650c7812be90cbba5c472cdb335c8ef527dc2407888e", - "runtime_sha256": "e85ed5057a15b6432600b5596aacbc967179122757378b61dc4247a101db8f9b", - "recipe_sha256": "33ac62cab7dbea38c303cabc99c60ac1adf33ef21bd0b2b5c62bcb22fcac2235" -} diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..e27e3c6 --- /dev/null +++ b/mise.toml @@ -0,0 +1,25 @@ +[tools] +"python" = "3.13.11" +"actionlint" = "1.7.12" + +[env] +TOOLS_ROOT = "{{ get_env(name='TOOLS_ROOT', default=config_root ~ '/.ci-tools') }}" +GOTOOLCHAIN = "local" +PYTHONDONTWRITEBYTECODE = "1" + +[tasks."lint"] +run = ["python3 scripts/check.py", "actionlint"] + +[tasks."build"] +run = "python3 \"$TOOLS_ROOT/helpers/verification.py\" build --name build --artifact .artifacts/dist -- mise run _build" + +[tasks."_build"] +run = ["python3 scripts/check.py --build"] +hide = true + +[tasks."_check-stages"] +run = [{"task" = "lint"}, {"task" = "build"}] +hide = true + +[tasks."check"] +run = [{"task" = "lint"}, {"task" = "build"}]