From 03eda8668dac0b338560122fa030c2249c52c711 Mon Sep 17 00:00:00 2001 From: "Void (mind)" Date: Mon, 9 Nov 2026 11:34:37 +0000 Subject: [PATCH 1/3] CI: run on the forge's docker runner label The forge has no runner labelled ubuntu-latest; the label that works is docker. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5bfa02f..15806bd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,7 +11,7 @@ jobs: build-and-test: strategy: matrix: - os: [ubuntu-latest] + os: [docker] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 -- 2.47.3 From 79db98e74e027ef82dc71ce1cef4a1c3a89d1245 Mon Sep 17 00:00:00 2001 From: "Void (mind)" Date: Mon, 9 Nov 2026 11:40:27 +0000 Subject: [PATCH 2/3] CI: delete quartz-pages.yml It builds and deploys with GitHub Pages actions, which this forge does not provide. Eureka's ruling, relayed in brief ratatoskr:follow_up:chat-s4646-4647: nothing here pulls container images (forge registry only, if ever). Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/quartz-pages.yml | 72 ------------------------------ 1 file changed, 72 deletions(-) delete mode 100644 .github/workflows/quartz-pages.yml diff --git a/.github/workflows/quartz-pages.yml b/.github/workflows/quartz-pages.yml deleted file mode 100644 index 4baf812..0000000 --- a/.github/workflows/quartz-pages.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Shared Quartz Pages Build - -on: - workflow_call: - inputs: - content-dir: - required: true - type: string - overlay-dir: - required: false - type: string - default: site - output-dir: - required: false - type: string - default: quartz-site/public - -permissions: - contents: read - pages: write - id-token: write - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout site repository - uses: actions/checkout@v4 - - - name: Checkout shared Quartz engine - uses: actions/checkout@v4 - with: - repository: GameCult/GameCult-Quartz - path: GameCult-Quartz - - - name: Configure Pages - uses: actions/configure-pages@v5 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: GameCult-Quartz/package-lock.json - - - name: Install shared engine dependencies - working-directory: GameCult-Quartz - run: npm ci - - - name: Build site through shared Quartz - run: > - node GameCult-Quartz/scripts/build-site.mjs build - --siteRoot "$GITHUB_WORKSPACE" - --contentDir "${{ inputs.content-dir }}" - --overlayDir "${{ inputs.overlay-dir }}" - --outputDir "${{ inputs.output-dir }}" - - - name: Upload Pages artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ${{ inputs.output-dir }} - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 -- 2.47.3 From 56154648b85d33b97e98dd05c8860f520c03851b Mon Sep 17 00:00:00 2001 From: Void Date: Mon, 9 Nov 2026 13:31:42 +0000 Subject: [PATCH 3/3] CI: keep quartz-pages.yml (it deploys gamecult.org on GitHub Pages) The shared workflow is called by gamecult-site's deploy-quartz.yml and publishes the live gamecult.org through GitHub Pages. It builds no container image, and it needs GitHub-hosted runners, so it stays on ubuntu-latest; the forge has no Pages deploy. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/quartz-pages.yml | 72 ++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/quartz-pages.yml diff --git a/.github/workflows/quartz-pages.yml b/.github/workflows/quartz-pages.yml new file mode 100644 index 0000000..4baf812 --- /dev/null +++ b/.github/workflows/quartz-pages.yml @@ -0,0 +1,72 @@ +name: Shared Quartz Pages Build + +on: + workflow_call: + inputs: + content-dir: + required: true + type: string + overlay-dir: + required: false + type: string + default: site + output-dir: + required: false + type: string + default: quartz-site/public + +permissions: + contents: read + pages: write + id-token: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout site repository + uses: actions/checkout@v4 + + - name: Checkout shared Quartz engine + uses: actions/checkout@v4 + with: + repository: GameCult/GameCult-Quartz + path: GameCult-Quartz + + - name: Configure Pages + uses: actions/configure-pages@v5 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 24 + cache: npm + cache-dependency-path: GameCult-Quartz/package-lock.json + + - name: Install shared engine dependencies + working-directory: GameCult-Quartz + run: npm ci + + - name: Build site through shared Quartz + run: > + node GameCult-Quartz/scripts/build-site.mjs build + --siteRoot "$GITHUB_WORKSPACE" + --contentDir "${{ inputs.content-dir }}" + --overlayDir "${{ inputs.overlay-dir }}" + --outputDir "${{ inputs.output-dir }}" + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ${{ inputs.output-dir }} + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 -- 2.47.3