From c29cd93f21f803aa793c2e3cd8c8cfcac6533335 Mon Sep 17 00:00:00 2001 From: Andrei Ciobanu Date: Tue, 11 Nov 2025 11:12:20 +0200 Subject: [PATCH] [main] Fixes for GH workflows for older OpenTofu versions (#3485) Signed-off-by: Andrei Ciobanu --- .github/workflows/website.yml | 11 +++++++++++ website/docker-compose.build-non-main.yml | 18 ++++++++++++++++++ .../intro/install/test-install-instructions.sh | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 website/docker-compose.build-non-main.yml diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 53a29f0394..b56e3e4a04 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -39,9 +39,20 @@ jobs: - name: Prepare website container run: docker compose -f docker-compose.build.yml build working-directory: website + # The segregation between the next 2 steps is because on non-main branches, there are + # blog posts that point to the 'main' branch documentation that is fully missing from + # the branches that are used to maintain older versions of OpenTofu. + # Therefore, we run the full website check on main (and any branch in a PR that points + # to the main branch) and we run a trimmed down website checks for any runs against + # a non-main branch (or a PR that points to a non-main branch) - name: Build website + if: github.ref == 'refs/heads/main' || github.base_ref == 'main' run: docker compose -f docker-compose.build.yml up --exit-code-from website working-directory: website + - name: Build website with warns + if: github.ref != 'refs/heads/main' && github.base_ref != 'main' + run: docker compose -f docker-compose.build-non-main.yml up --exit-code-from website + working-directory: website installation-instructions: name: "Test Installation Instructions" diff --git a/website/docker-compose.build-non-main.yml b/website/docker-compose.build-non-main.yml new file mode 100644 index 0000000000..e290142834 --- /dev/null +++ b/website/docker-compose.build-non-main.yml @@ -0,0 +1,18 @@ +# Copyright (c) The OpenTofu Authors +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) 2023 HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +# This file is meant to be used only in running the `website` GH workflow on non-main branches and PRs that are targeting non-main branches. +# This is because the [blog/](https://github.com/opentofu/opentofu.org/tree/main/blog) content can point to documentation that is not available +# in branches of lower versions of OpenTofu. +services: + website: + build: . + ports: + - "3000:3000" + volumes: + - ../:/work/opentofu-repo/main + command: > + sh -c "sed -i 's#throw#warn#g' docusaurus.config.ts && npm run build" + restart: no \ No newline at end of file diff --git a/website/docs/intro/install/test-install-instructions.sh b/website/docs/intro/install/test-install-instructions.sh index 5e220ec1e5..49122e164a 100755 --- a/website/docs/intro/install/test-install-instructions.sh +++ b/website/docs/intro/install/test-install-instructions.sh @@ -36,7 +36,7 @@ for SERVICE in $SERVICES; do docker compose logs ${SERVICE} FAILED=$((${FAILED}+1)) fi - cat $TEMPFILE | grep -a -E "^[a-zA-Z]+-${SERVICE}-1\s+\| " | sed -E "s/^[a-zA-Z]+-${SERVICE}-1\s+\| //" + cat $TEMPFILE | grep -a -E "^${SERVICE}-1\s+\| " | sed -E "s/^${SERVICE}-1\s+\| //" echo "::endgroup::" done