From fbc3634bcfe777ebbbb8025dc450ef0d5fe31235 Mon Sep 17 00:00:00 2001 From: Karl Rister Date: Thu, 9 Apr 2026 07:33:11 -0500 Subject: [PATCH] feat: add workshop.json with controller image requirements and use release CI workflow Add workshop.json declaring Python jsonschema as a controller image dependency for multiplex's schema validation. Switch crucible-ci workflow to core-release-crucible-ci so that changes to workshop.json trigger a controller image rebuild. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/crucible-ci.yaml | 10 +++++----- workshop.json | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 workshop.json diff --git a/.github/workflows/crucible-ci.yaml b/.github/workflows/crucible-ci.yaml index 522652e..9744e08 100644 --- a/.github/workflows/crucible-ci.yaml +++ b/.github/workflows/crucible-ci.yaml @@ -31,10 +31,10 @@ jobs: - name: Display changes run: echo '${{ toJSON(steps.filter.outputs) }}' | jq . - call-real-core-crucible-ci: + call-real-core-release-crucible-ci: needs: changes if: ${{ github.event_name == 'workflow_dispatch' || needs.changes.outputs.only-docs != 'true' }} - uses: perftool-incubator/crucible-ci/.github/workflows/core-crucible-ci.yaml@main + uses: perftool-incubator/crucible-ci/.github/workflows/core-release-crucible-ci.yaml@main with: ci_target: "multiplex" ci_target_branch: "${{ github.ref }}" @@ -44,13 +44,13 @@ jobs: ci_registry_auth: ${{ secrets.CRUCIBLE_CI_ENGINES_REGISTRY_AUTH }} quay_oauth_token: ${{ secrets.CRUCIBLE_QUAYIO_OAUTH_TOKEN }} - call-faux-core-crucible-ci: + call-faux-core-release-crucible-ci: needs: changes if: ${{ github.event_name != 'workflow_dispatch' && needs.changes.outputs.only-docs == 'true' }} - uses: perftool-incubator/crucible-ci/.github/workflows/faux-core-crucible-ci.yaml@main + uses: perftool-incubator/crucible-ci/.github/workflows/faux-core-release-crucible-ci.yaml@main crucible-ci-complete: - needs: [ call-real-core-crucible-ci, call-faux-core-crucible-ci ] + needs: [ call-real-core-release-crucible-ci, call-faux-core-release-crucible-ci ] if: always() runs-on: ubuntu-latest steps: diff --git a/workshop.json b/workshop.json new file mode 100644 index 0000000..878f239 --- /dev/null +++ b/workshop.json @@ -0,0 +1,26 @@ +{ + "workshop": { + "schema": { + "version": "2020.03.02" + } + }, + "userenvs": [ + { + "name": "crucible-controller", + "requirements": [ + "multiplex-python-deps" + ] + } + ], + "requirements": [ + { + "name": "multiplex-python-deps", + "type": "python3", + "python3_info": { + "packages": [ + "jsonschema" + ] + } + } + ] +}