Files
haproxy-unified-victor/.gitea/workflows/techdocs-helm-chart.yml
Scaffolder 29e76fe69b
All checks were successful
Build and Publish TechDocs (Helm Chart Resource) / build-and-publish-helm-chart (push) Successful in 1m3s
initial commit
Change-Id: I6048ebc6243ebc8630caceeff787370b9725a152
2026-04-23 11:40:05 +00:00

113 lines
4.6 KiB
YAML

name: Build and Publish TechDocs (Helm Chart Resource)
on:
push:
branches:
- main
paths:
- 'charts/**'
env:
# ── Azure Blob Storage ───────────────────────────────────────────────────
TECHDOCS_AZURE_BLOB_CONTAINER_NAME:
AZURE_FEDERATED_TOKEN_FILE: /var/run/secrets/azure/tokens/azure-identity-token
AZURE_ACCOUNT_NAME: "bstagecjotdevsttechdocs"
# ── TechDocs entity identity ─────────────────────────────────────────────
ENTITY_NAMESPACE: default
ENTITY_KIND: resource
ENTITY_NAME: haproxy-unified-victor-helm-chart
jobs:
build-and-publish-helm-chart:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
# ── 1. Checkout ────────────────────────────────────────────────────────
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # full history for git-revision-date-localized plugin
- name: Read and set output
id: read_env
run: |
echo "$AZURE_FEDERATED_TOKEN_FILE"
env | grep AZURE
echo "$(cat $AZURE_FEDERATED_TOKEN_FILE)"
# ── 2. Bootstrap pip ───────────────────────────────────────────────────
- name: Bootstrap pip
run: |
python3 --version
if python3 -m pip --version 2>/dev/null; then
echo "pip already available"
elif python3 -m ensurepip --version 2>/dev/null; then
python3 -m ensurepip --upgrade
else
apt-get update -qq
apt-get install -y python3-pip
fi
python3 -m pip install --upgrade pip
python3 -m pip --version
# ── 3. Install TechDocs CLI + MkDocs dependencies ─────────────────────
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install \
mkdocs-techdocs-core==1.* \
mkdocs-git-revision-date-localized-plugin \
mkdocs-awesome-pages-plugin
npm install -g @techdocs/cli
# ── 4. Validate mkdocs.yml ─────────────────────────────────────────────
- name: Validate MkDocs config
run: mkdocs build --strict --site-dir /tmp/mkdocs-charts-validate --config-file charts/mkdocs.yml
# ── 5. Build docs with TechDocs CLI ───────────────────────────────────
- name: Build TechDocs site
run: |
techdocs-cli generate \
--source-dir ./charts \
--output-dir ./charts/site \
--no-docker \
--verbose
# ── 6. Install Azure CLI ───────────────────────────────────────────────
- name: Install Azure CLI
run: |
if command -v az &>/dev/null; then
echo "Azure CLI already installed: $(az version --query '"azure-cli"' -o tsv)"
else
curl -sL https://aka.ms/InstallAzureCLIDeb | bash
fi
# ── 7. Authenticate to Azure ──────────────────────────────────────────
- name: Azure login (OIDC)
run: |
az login \
--service-principal \
--username "$AZURE_CLIENT_ID" \
--tenant "$AZURE_TENANT_ID" \
--federated-token "$(cat $AZURE_FEDERATED_TOKEN_FILE)"
echo "✓ Azure login successful"
# ── 8. Publish to Azure Blob Storage ──────────────────────────────────
- name: Publish TechDocs site
run: |
echo "$AZURE_ACCOUNT_NAME"
echo "$ENTITY_NAMESPACE"
echo "$ENTITY_KIND"
echo "$ENTITY_NAME"
techdocs-cli publish \
--publisher-type azureBlobStorage \
--storage-name "techdocs" \
--azureAccountName "$AZURE_ACCOUNT_NAME" \
--entity "$ENTITY_NAMESPACE/$ENTITY_KIND/$ENTITY_NAME" \
--directory ./charts/site