From dbe02c0a7a8e4f4e10c9ca2281cf5ec8c34c61bc Mon Sep 17 00:00:00 2001 From: Daniel Kastl Date: Thu, 20 Nov 2025 10:57:07 +0900 Subject: [PATCH 1/2] Enable secrets inheritance in publish-techdocs and release workflows Signed-off-by: Daniel Kastl --- docs/workflows.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/workflows.md b/docs/workflows.md index 9862e22..699b124 100644 --- a/docs/workflows.md +++ b/docs/workflows.md @@ -39,6 +39,8 @@ jobs: # with: # environment: production # aws_region: ap-northeast-1 + secrets: inherit + # In case you want to override the AWS account ID: # secrets: # AWS_ACCOUNT_ID: ${{ secrets.TECHDOCS_AWS_ACCOUNT_ID }} ``` @@ -57,6 +59,7 @@ Example minimal usage: jobs: publish: uses: geolonia/.github/.github/workflows/reusable-release-auto-on-tag.yml@v1 + secrets: inherit ``` ## Updating templates From e8c2fa1d872ef59069c002e1b801ae80f83d2004 Mon Sep 17 00:00:00 2001 From: Daniel Kastl Date: Fri, 28 Nov 2025 11:00:01 +0900 Subject: [PATCH 2/2] Enhance TechDocs workflow to resolve TECHDOCS_ENTITY from catalog-info.yaml and improve variable handling Signed-off-by: Daniel Kastl --- .../workflows/reusable-backstage-techdocs.yml | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/.github/workflows/reusable-backstage-techdocs.yml b/.github/workflows/reusable-backstage-techdocs.yml index 232615e..a1df212 100644 --- a/.github/workflows/reusable-backstage-techdocs.yml +++ b/.github/workflows/reusable-backstage-techdocs.yml @@ -63,18 +63,19 @@ on: env: # ---- Cascading defaults: inputs -> vars -> opinionated constant ---- - NODE_VERSION: ${{ inputs.node_version || vars.TECHDOCS_NODE_VERSION || '24' }} - PYTHON_VERSION: ${{ inputs.python_version || vars.TECHDOCS_PYTHON_VERSION || '3.13' }} - TECHDOCS_CLI_VER: ${{ inputs.techdocs_cli_version || vars.TECHDOCS_CLI_VERSION || 'latest' }} - MKDOCS_CORE_VER: ${{ inputs.mkdocs_core_version || vars.MKDOCS_TECHDOCS_CORE_VERSION || '>=1.6,<2.0' }} + NODE_VERSION: ${{ inputs.node_version || vars.TECHDOCS_NODE_VERSION || '24' }} + PYTHON_VERSION: ${{ inputs.python_version || vars.TECHDOCS_PYTHON_VERSION || '3.13' }} + TECHDOCS_CLI_VER: ${{ inputs.techdocs_cli_version || vars.TECHDOCS_CLI_VERSION || 'latest' }} + MKDOCS_CORE_VER: ${{ inputs.mkdocs_core_version || vars.MKDOCS_TECHDOCS_CORE_VERSION || '>=1.6,<2.0' }} - AWS_REGION: ${{ inputs.aws_region || vars.AWS_REGION || 'ap-northeast-1' }} - AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID || secrets.TECHDOCS_AWS_ACCOUNT_ID }} + AWS_REGION: ${{ inputs.aws_region || vars.AWS_REGION || 'ap-northeast-1' }} + AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID || secrets.TECHDOCS_AWS_ACCOUNT_ID }} - TECHDOCS_BUCKET: ${{ inputs.techdocs_bucket || vars.TECHDOCS_BUCKET || 'geolonia-backstage-techdocs' }} - TECHDOCS_ENTITY: ${{ inputs.techdocs_entity || vars.TECHDOCS_ENTITY || format('geolonia/component/{0}', github.event.repository.name) }} + TECHDOCS_BUCKET: ${{ inputs.techdocs_bucket || vars.TECHDOCS_BUCKET || 'geolonia-backstage-techdocs' }} + TECHDOCS_ENTITY_INPUT: ${{ inputs.techdocs_entity }} + TECHDOCS_ENTITY_VAR: ${{ vars.TECHDOCS_ENTITY }} - BUILD_DIR: ${{ inputs.build_directory || vars.TECHDOCS_BUILD_DIR || 'site' }} + BUILD_DIR: ${{ inputs.build_directory || vars.TECHDOCS_BUILD_DIR || 'site' }} jobs: publish-techdocs: @@ -110,6 +111,29 @@ jobs: python -m pip install --upgrade pip pip install "mkdocs-techdocs-core${{ env.MKDOCS_CORE_VER }}" + - name: Resolve TechDocs entity from catalog-info.yaml (fallback) + id: techdocs_entity_yaml + uses: mikefarah/yq@v4 + with: + # result: "namespace/kind/name" (e.g. "geolonia/component/my-service") + cmd: yq -r '[.metadata.namespace // "default", (.kind // "Component" | downcase), .metadata.name] | join("/")' catalog-info.yaml + + - name: Get final TECHDOCS_ENTITY + run: | + # Precedence: + # 1) workflow input + # 2) repo/org variable + # 3) catalog-info.yaml + ENTITY="${TECHDOCS_ENTITY_INPUT:-${TECHDOCS_ENTITY_VAR:-${{ steps.techdocs_entity_yaml.outputs.result }}}}" + + if [ -z "$ENTITY" ]; then + echo "ERROR: Could not resolve TECHDOCS_ENTITY (no input, no var, catalog-info.yaml missing metadata.name?)" + exit 1 + fi + + echo "Using TECHDOCS_ENTITY=${ENTITY}" + echo "TECHDOCS_ENTITY=${ENTITY}" >> "$GITHUB_ENV" + - name: Configure AWS credentials (OIDC) uses: aws-actions/configure-aws-credentials@v4 with: