From 6eceadad805de7b228d3825927acb397caafd0b2 Mon Sep 17 00:00:00 2001 From: Daniel Flook Date: Wed, 17 Jan 2024 12:14:39 +0000 Subject: [PATCH 1/2] Fix .tool-versions from workspace root --- .github/workflows/test-version.yaml | 17 ++++++++++++++++- image/src/terraform_version/asdf.py | 5 ++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-version.yaml b/.github/workflows/test-version.yaml index 1c67b758..ea55e2f8 100644 --- a/.github/workflows/test-version.yaml +++ b/.github/workflows/test-version.yaml @@ -103,7 +103,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Test terraform-version + - name: Test getting version from .tools-versions uses: ./terraform-version id: terraform-version with: @@ -118,6 +118,21 @@ jobs: echo "::error:: Terraform version not set from .terraform-version" exit 1 fi + + mv tests/workflows/test-version/asdf/.tool-versions .tool-versions + + - name: Test getting version from root .tools-versions + uses: ./terraform-version + id: terraform-version + with: + path: tests/workflows/test-version/asdf + + - name: Check the version + run: | + if [[ "${{ steps.terraform-version.outputs.terraform }}" != "0.12.11" ]]; then + echo "::error:: Terraform version not set from .terraform-version" + exit 1 + fi env: runs-on: ubuntu-latest diff --git a/image/src/terraform_version/asdf.py b/image/src/terraform_version/asdf.py index 558428f7..98939322 100644 --- a/image/src/terraform_version/asdf.py +++ b/image/src/terraform_version/asdf.py @@ -28,7 +28,7 @@ def try_read_asdf(inputs: InitInputs, workspace_path: str, versions: Iterable[Ve module_path = os.path.abspath(inputs.get('INPUT_PATH', '.')) - while module_path not in ['/', workspace_path]: + while module_path != '/': asdf_path = os.path.join(module_path, '.tool-versions') if os.path.isfile(asdf_path): @@ -38,6 +38,9 @@ def try_read_asdf(inputs: InitInputs, workspace_path: str, versions: Iterable[Ve except Exception as e: debug(str(e)) + if module_path == workspace_path: + break + module_path = os.path.dirname(module_path) return None From 6bc62f7f55b9eab10635a2e6debfc60ed1200a33 Mon Sep 17 00:00:00 2001 From: Daniel Flook Date: Wed, 17 Jan 2024 12:51:46 +0000 Subject: [PATCH 2/2] Fix .tool-versions from workspace root --- .github/workflows/test-version.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-version.yaml b/.github/workflows/test-version.yaml index ea55e2f8..91f7e087 100644 --- a/.github/workflows/test-version.yaml +++ b/.github/workflows/test-version.yaml @@ -115,7 +115,7 @@ jobs: - name: Check the version run: | if [[ "${{ steps.terraform-version.outputs.terraform }}" != "0.12.11" ]]; then - echo "::error:: Terraform version not set from .terraform-version" + echo "::error:: Terraform version not set from .tool-versions" exit 1 fi @@ -123,14 +123,14 @@ jobs: - name: Test getting version from root .tools-versions uses: ./terraform-version - id: terraform-version + id: root-version with: path: tests/workflows/test-version/asdf - name: Check the version run: | - if [[ "${{ steps.terraform-version.outputs.terraform }}" != "0.12.11" ]]; then - echo "::error:: Terraform version not set from .terraform-version" + if [[ "${{ steps.root-version.outputs.terraform }}" != "0.12.11" ]]; then + echo "::error:: Terraform version not set from .tool-versions" exit 1 fi