From 1ed083a057eca028d9fe5a43ff243feb13544ad3 Mon Sep 17 00:00:00 2001 From: "Gode, Sebastian" Date: Wed, 8 Oct 2025 06:45:16 +0000 Subject: [PATCH] actions-github (#58) Reviewed-on: https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata-rework/pulls/58 Reviewed-by: Tino Schreiber Co-authored-by: Gode, Sebastian Co-committed-by: Gode, Sebastian --- .../templates/build-html-docs.yaml.j2 | 30 +++++++++++++++++-- otc_metadata/templates/build-pdf-docs.yaml.j2 | 30 +++++++++++++++++-- otc_metadata/templates/tox.ini.j2 | 2 +- tools/generate_doc_confpy.py | 28 ++++++++++++----- 4 files changed, 78 insertions(+), 12 deletions(-) diff --git a/otc_metadata/templates/build-html-docs.yaml.j2 b/otc_metadata/templates/build-html-docs.yaml.j2 index ebd6bbc..abbbef7 100644 --- a/otc_metadata/templates/build-html-docs.yaml.j2 +++ b/otc_metadata/templates/build-html-docs.yaml.j2 @@ -6,17 +6,27 @@ jobs: tox-docs: runs-on: ubuntu-latest steps: + {%- if environment == 'internal' %} - uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-run-env@v1 with: tox-env: docs - name: Upload documentation preview uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-upload-swift@v1 + {%- elif environment == 'public' %} + - uses: opentelekomcloud-infra/github-actions/.github/actions/tox-run-env@v1 + with: + tox-env: docs + + - name: Upload documentation preview + uses: opentelekomcloud-infra/github-actions/.github/actions/tox-upload-swift@v1 + {%- endif %} with: docs_path: "doc/build/html" docs_service: {{ service_uri }} - swift_container: "gitea_action_logs" + {%- if environment == 'internal' %} {% raw -%} + swift_container: "gitea_action_logs" otc_swift_username: ${{ secrets.OTC_SWIFT_USERNAME }} otc_swift_password: ${{ secrets.OTC_SWIFT_PASSWORD }} otc_swift_project_name: ${{ secrets.OTC_SWIFT_PROJECT_NAME }} @@ -27,4 +37,20 @@ jobs: repo: ${{ gitea.repository }} pr_number: ${{ gitea.event.pull_request.number }} run_id: ${{ gitea.run_id }} - {%- endraw %} \ No newline at end of file + ci_platform: gitea + {%- endraw %} + {%- elif environment == 'public' %} + {% raw -%} + swift_container: "gh_action_logs" + otc_swift_username: ${{ secrets.OTC_SWIFT_USERNAME }} + otc_swift_password: ${{ secrets.OTC_SWIFT_PASSWORD }} + otc_swift_project_name: ${{ secrets.OTC_SWIFT_PROJECT_NAME }} + otc_swift_domain: ${{ secrets.OTC_SWIFT_DOMAIN }} + otc_swift_endpoint: ${{ secrets.OTC_SWIFT_ENDPOINT }} + github_token: ${{ secrets.GITHUB_TOKEN }} + repo: ${{ github.repository }} + pr_number: ${{ github.event.pull_request.number }} + run_id: ${{ github.run_id }} + ci_platform: github + {%- endraw %} + {%- endif %} \ No newline at end of file diff --git a/otc_metadata/templates/build-pdf-docs.yaml.j2 b/otc_metadata/templates/build-pdf-docs.yaml.j2 index 472c8ef..ee0e418 100644 --- a/otc_metadata/templates/build-pdf-docs.yaml.j2 +++ b/otc_metadata/templates/build-pdf-docs.yaml.j2 @@ -6,17 +6,27 @@ jobs: tox-pdf-docs: runs-on: ubuntu-latest steps: + {%- if environment == 'internal' %} - uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-run-env@v1 with: tox-env: pdf-docs - name: Upload documentation preview uses: https://github.com/opentelekomcloud-infra/github-actions/.github/actions/tox-upload-swift@v1 + {%- elif environment == 'public' %} + - uses: opentelekomcloud-infra/github-actions/.github/actions/tox-run-env@v1 + with: + tox-env: pdf-docs + + - name: Upload documentation preview + uses: opentelekomcloud-infra/github-actions/.github/actions/tox-upload-swift@v1 + {%- endif %} with: docs_path: "doc/build/pdf" docs_service: {{ service_uri }} - swift_container: "gitea_action_logs" + {%- if environment == 'internal' %} {% raw -%} + swift_container: "gitea_action_logs" otc_swift_username: ${{ secrets.OTC_SWIFT_USERNAME }} otc_swift_password: ${{ secrets.OTC_SWIFT_PASSWORD }} otc_swift_project_name: ${{ secrets.OTC_SWIFT_PROJECT_NAME }} @@ -27,4 +37,20 @@ jobs: repo: ${{ gitea.repository }} pr_number: ${{ gitea.event.pull_request.number }} run_id: ${{ gitea.run_id }} - {%- endraw %} \ No newline at end of file + ci_platform: gitea + {%- endraw %} + {%- elif environment == 'public' %} + {% raw -%} + swift_container: "gh_action_logs" + otc_swift_username: ${{ secrets.OTC_SWIFT_USERNAME }} + otc_swift_password: ${{ secrets.OTC_SWIFT_PASSWORD }} + otc_swift_project_name: ${{ secrets.OTC_SWIFT_PROJECT_NAME }} + otc_swift_domain: ${{ secrets.OTC_SWIFT_DOMAIN }} + otc_swift_endpoint: ${{ secrets.OTC_SWIFT_ENDPOINT }} + github_token: ${{ secrets.GITHUB_TOKEN }} + repo: ${{ github.repository }} + pr_number: ${{ github.event.pull_request.number }} + run_id: ${{ github.run_id }} + ci_platform: github + {%- endraw %} + {%- endif %} \ No newline at end of file diff --git a/otc_metadata/templates/tox.ini.j2 b/otc_metadata/templates/tox.ini.j2 index 7328db9..1e33312 100644 --- a/otc_metadata/templates/tox.ini.j2 +++ b/otc_metadata/templates/tox.ini.j2 @@ -152,7 +152,7 @@ commands = rm -rf {toxinidir}/packages.txt wget -O {toxinidir}/bindep.txt https://raw.githubusercontent.com/opentelekomcloud/otcdocstheme/main/bindep.txt bash -c "bindep test -b -f {toxinidir}/bindep.txt > {toxinidir}/packages.txt || true" - bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v apt &>/dev/null; then apt update && xargs apt install --no-install-recommends -y < {toxinidir}/packages.txt; fi; fi' + bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v apt &>/dev/null; then sudo apt update && xargs sudo apt install --no-install-recommends -y < {toxinidir}/packages.txt; fi; fi' bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v dnf &>/dev/null; then dnf install -y $(cat {toxinidir}/packages.txt); fi; fi' [doc8] diff --git a/tools/generate_doc_confpy.py b/tools/generate_doc_confpy.py index 4691d9c..98debea 100644 --- a/tools/generate_doc_confpy.py +++ b/tools/generate_doc_confpy.py @@ -356,8 +356,10 @@ def process_repositories(args, service): context["docs"].append(doc) if args.cloud_environment == "swiss": context["template"] = "helpcenter-swiss-base-jobs" - elif args.cloud_environment == "eu_de": + elif args.cloud_environment == "eu_de" and args.target_environment == "internal": context["template"] = "helpcenter-base-jobs" + elif args.cloud_environment == "eu_de" and args.target_environment == "public": + context["template"] = "helpcenter-base-jobs-no-check" context["service_type"] = service['service_type'] zuul_yaml_content = zuul_yaml_template.render(**context) @@ -371,21 +373,33 @@ def process_repositories(args, service): """Update actions""" context = dict(docs=[]) context["service_uri"] = service['service_uri'] + context["environment"] = args.target_environment actions_yaml_content_html = actions_yaml_template_html.render(**context) actions_yaml_content_pdf = actions_yaml_template_pdf.render(**context) - actions_yaml_content_html_path = pathlib.Path(copy_to, ".gitea", "workflows", "build-html-docs.yaml") - actions_yaml_content_html_path.parent.mkdir(parents=True, exist_ok=True) - actions_yaml_content_pdf_path = pathlib.Path(copy_to, ".gitea", "workflows", "build-pdf-docs.yaml") - actions_yaml_content_pdf_path.parent.mkdir(parents=True, exist_ok=True) + if args.target_environment == "internal": + actions_yaml_content_html_path = pathlib.Path(copy_to, ".gitea", "workflows", "build-html-docs.yaml") + actions_yaml_content_html_path.parent.mkdir(parents=True, exist_ok=True) + actions_yaml_content_pdf_path = pathlib.Path(copy_to, ".gitea", "workflows", "build-pdf-docs.yaml") + actions_yaml_content_pdf_path.parent.mkdir(parents=True, exist_ok=True) + elif args.target_environment == "public": + actions_yaml_content_html_path = pathlib.Path(copy_to, ".github", "workflows", "build-html-docs.yaml") + actions_yaml_content_html_path.parent.mkdir(parents=True, exist_ok=True) + actions_yaml_content_pdf_path = pathlib.Path(copy_to, ".github", "workflows", "build-pdf-docs.yaml") + actions_yaml_content_pdf_path.parent.mkdir(parents=True, exist_ok=True) + with open(actions_yaml_content_html_path, "w", encoding="utf-8", newline="") as out: logging.debug(f"Generating {actions_yaml_content_html_path} from template...") out.write(actions_yaml_content_html) - repo_to.index.add([".gitea/workflows/build-html-docs.yaml"]) with open(actions_yaml_content_pdf_path, "w", encoding="utf-8", newline="") as out: logging.debug(f"Generating {actions_yaml_content_pdf_path} from template...") out.write(actions_yaml_content_pdf) - repo_to.index.add([".gitea/workflows/build-pdf-docs.yaml"]) + if args.target_environment == "internal": + repo_to.index.add([".gitea/workflows/build-html-docs.yaml"]) + repo_to.index.add([".gitea/workflows/build-pdf-docs.yaml"]) + elif args.target_environment == "public": + repo_to.index.add([".github/workflows/build-html-docs.yaml"]) + repo_to.index.add([".github/workflows/build-pdf-docs.yaml"]) if len(repo_to.index.diff("HEAD")) == 0: # Nothing to commit