Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d118406
Build a trixie base image
dflook Feb 28, 2026
3268ae9
Add underscored output variants
dflook Mar 2, 2026
637948b
Install python package in venv
dflook Mar 28, 2026
25c01dc
Explicitly gpg verify the expected signed
dflook Mar 28, 2026
34774e8
Update actions versions
dflook Mar 28, 2026
f16fdcb
Add python requirements.txt
dflook Mar 28, 2026
4ec1b65
Remove broken symlink, and better handle broken symlinks
dflook Mar 28, 2026
6409dd2
Disable dumb rule
dflook Mar 30, 2026
cd1e1a8
Escape quotes or backslashes in cloud tokens when writing
dflook Apr 7, 2026
265abb3
Use secrets module rather than random for random strings
dflook Apr 7, 2026
b8e2ed5
Use correct mode
dflook Apr 7, 2026
639677b
Use variables in graphql query
dflook Apr 7, 2026
1489efe
Validate request URLs belong to the expected GitHub host
dflook Jul 17, 2026
8f39e8c
Pin python-hcl2 for tests
dflook Jul 17, 2026
d36b2dd
Disable unpinned-images zizmor rule
dflook Jul 17, 2026
4d31cf0
Update for terraform 1.15
dflook Jul 17, 2026
dd85953
Fix missing run-id bug
dflook Jul 17, 2026
11a5197
Harden version checks
dflook Jul 17, 2026
f9526dd
Add specific messaging for missing approved binary plan
dflook Jul 17, 2026
2679e0a
Add message for unparsable variables
dflook Jul 17, 2026
eb842c3
Fix backend fingerprinting for backend fields containing '='
dflook Jul 18, 2026
67bbc00
Add better messaging for malformed repository_dispatch payloads
dflook Jul 18, 2026
b9a70dd
Add better messaging for rate limited non-authenticated requests
dflook Jul 18, 2026
2ea34b8
Fix regex issues with plan diff-formatting
dflook Jul 18, 2026
91d6389
Fix linting of tools
dflook Jul 18, 2026
48b1f3f
Only log interesting fields
dflook Jul 18, 2026
45aab6e
Properly track STEP_TMP_DIR for downloads
dflook Jul 18, 2026
649258c
Properly serialise node-id of replacement comments obj for later use
dflook Jul 18, 2026
b1eb494
Clarify tool version selection from env var
dflook Jul 18, 2026
41833d7
Add missing test
dflook Jul 18, 2026
915f070
Rebuild trixie base
dflook Jul 18, 2026
4a1934c
Update changelog
dflook Jul 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .config/ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ src = ["docs-gen", "image/src"]
include = [
"docs-gen/*.py",
"image/src/*.py",
"image/src/setup.py",
"tools/*.py",
"image/setup.py",
"image/tools/*.py",
]

[lint]
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/base-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ on:
push:
branches:
- main
- trixie
paths:
- image/Dockerfile-base
- .github/workflows/base-image.yaml
schedule:
- cron: 0 1 1 * *
workflow_dispatch:

permissions:
contents: read
Expand All @@ -25,7 +27,7 @@ jobs:
url: https://hub.docker.com/r/danielflook/terraform-github-actions-base/tags?name=${{ github.run_id }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

Expand All @@ -36,18 +38,18 @@ jobs:
echo "$DOCKER_TOKEN" | docker login --username danielflook --password-stdin

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Base image
id: build-and-push
run: |
BASE_DIGEST=$(docker buildx imagetools inspect "debian:bookworm-slim" --format '{{json .}}' | jq -r '.manifest.digest')
BASE_DIGEST=$(docker buildx imagetools inspect "debian:trixie-slim" --format '{{json .}}' | jq -r '.manifest.digest')

sed -i "s|FROM debian:bookworm-slim|FROM debian:bookworm-slim@$BASE_DIGEST|" "image/Dockerfile-base"
sed -i "s|FROM debian:trixie-slim|FROM debian:trixie-slim@$BASE_DIGEST|" "image/Dockerfile-base"

docker buildx build \
--tag "danielflook/terraform-github-actions-base:$GITHUB_RUN_ID" \
--tag danielflook/terraform-github-actions-base:latest \
--tag danielflook/terraform-github-actions-base:trixie \
--platform linux/amd64,linux/arm64 \
--attest "type=provenance,mode=max,builder-id=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \
--annotation "index,manifest:org.opencontainers.image.created=$(date '+%Y-%m-%dT%H:%M:%S%z')" \
Expand All @@ -58,7 +60,7 @@ jobs:
--annotation "index:org.opencontainers.image.ref.name=docker.io/danielflook/terraform-github-actions-base:$GITHUB_RUN_ID" \
--annotation "index,manifest:builder-id=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \
--annotation "index,manifest:ref.tag=$GITHUB_RUN_ID" \
--annotation "index,manifest:org.opencontainers.image.base.name=docker.io/debian:bookworm-slim" \
--annotation "index,manifest:org.opencontainers.image.base.name=docker.io/debian:trixie-slim" \
--annotation "index,manifest:base.manifest.digest=$BASE_DIGEST" \
--file image/Dockerfile-base \
--push \
Expand All @@ -68,7 +70,7 @@ jobs:
echo "digest=$(<manifest-list-digest.txt)" >> "$GITHUB_OUTPUT"

- name: Generate image attestation
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: index.docker.io/danielflook/terraform-github-actions-base
subject-digest: ${{ steps.build-and-push.outputs.digest }}
2 changes: 1 addition & 1 deletion .github/workflows/pull_request_review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pull_request_target.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ jobs:
EOF

- name: Plan
uses: dflook/terraform-plan@v1
uses: dflook/terraform-plan@7878bff63e2099cdc9be9a6f33cbbbf687f8f0fe # v2.2.3
with:
label: pull_request_target
path: test-module

- name: Apply
uses: dflook/terraform-apply@v1
uses: dflook/terraform-apply@5489b988934a50bf1489d5b7c5253b46520a7dca # v2.2.3
id: output
with:
label: pull_request_target
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
base-digest: ${{ steps.image_build.outputs.base-digest }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

Expand All @@ -43,7 +43,7 @@ jobs:
echo "$DOCKER_TOKEN" | docker login --username danielflook --password-stdin

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Build action image
id: image_build
Expand Down Expand Up @@ -85,13 +85,13 @@ jobs:
echo "base-digest=$BASE_DIGEST" >> "$GITHUB_OUTPUT"

- name: Dockerhub ref attestation
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: index.docker.io/danielflook/terraform-github-actions
subject-digest: ${{ steps.image_build.outputs.digest }}

- name: GHCR ref attestation
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
with:
subject-name: ghcr.io/dflook/terraform-github-actions
subject-digest: ${{ steps.image_build.outputs.digest }}
Expand All @@ -106,7 +106,7 @@ jobs:
url: https://github.com/dflook/terraform-github-actions/releases/tag/${{ github.event.release.tag_name }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:
echo "$DOCKER_TOKEN" | docker login --username danielflook --password-stdin

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0

- name: Tag and push base image with release version
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/repository_dispatch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/retain-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
name: Pull images
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0
Expand Down
Loading
Loading