ci: take a read-only PAT for private submodule checkout

Gitea's per-job token is scoped to the calling repo, so cross-repo
private submodules (micromelon-kicadlibs, micromelon_3d) fail with
'Repository not found'. Callers now pass SUBMODULE_TOKEN, a PAT scoped
to read:repository, through to actions/checkout.
This commit is contained in:
2026-08-23 17:58:06 +10:00
parent 236b53a129
commit 4b42299571
+13 -8
View File
@@ -48,6 +48,9 @@ on:
required: true
ASTABLE_API_TOKEN:
required: true
SUBMODULE_TOKEN:
description: "Gitea PAT (read:repository) — the job token cannot read cross-repo private submodules"
required: true
env:
PROJECT_NAME: ${{ inputs.project_name }}
@@ -91,6 +94,7 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.SUBMODULE_TOKEN }}
- name: KiBot ERC
run: |
[ -f "${PROJECT_NAME}/${PROJECT_NAME}.kicad_sch" ] || exit 0
@@ -123,6 +127,7 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.SUBMODULE_TOKEN }}
- uses: actions/download-artifact@v3
with:
name: Validation
@@ -169,7 +174,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot schematic PDF
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -203,7 +208,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot BOM
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -238,7 +243,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot 3D (STEP)
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -274,7 +279,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot gerbers
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -308,7 +313,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot CPL
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -343,7 +348,7 @@ jobs:
KIBOT_VAR_rev_pcb: ${{ needs.extract_version.outputs.version }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- name: KiBot panel
run: |
export KIBOT_VAR_name=$(echo "${PROJECT_NAME}" | cut -d"-" -f1)
@@ -393,7 +398,7 @@ jobs:
ASTABLE_API_TOKEN: ${{ secrets.ASTABLE_API_TOKEN }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- uses: actions/download-artifact@v3
with: { name: Fabrication, path: Fabrication }
- uses: actions/download-artifact@v3
@@ -444,7 +449,7 @@ jobs:
ASTABLE_API_TOKEN: ${{ secrets.ASTABLE_API_TOKEN }}
steps:
- uses: actions/checkout@v4
with: { submodules: recursive }
with: { submodules: recursive, token: '${{ secrets.SUBMODULE_TOKEN }}' }
- uses: actions/download-artifact@v3
with: { name: Fabrication, path: Fabrication }
- uses: actions/download-artifact@v3