Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d873ba4
Bump actions/cache from 4 to 5
dependabot[bot] Dec 15, 2025
ce44624
Remove itemized `pull_request` trigger types
mcdonnnj Jan 15, 2026
9c0d2b6
Update pre-commit hook versions
mcdonnnj Jan 23, 2026
8cff529
Upgrade to the latest release of the check-jsonschema pre-commit hook
jsf9k Jan 26, 2026
77f204a
Adjust the `build` workflow's cache key formatting
mcdonnnj Feb 6, 2026
2fb5133
Remove installation of wheel Python package
jsf9k Feb 13, 2026
6b9b731
Update pre-commit hook versions
jsf9k Feb 19, 2026
f55ce6a
Add a comment mentioning we use defaults
mcdonnnj Feb 19, 2026
57ee431
Update pre-commit hook versions
mcdonnnj Feb 19, 2026
7d62b5e
Merge pull request #249 from cisagov/improvement/remove-wheel
mcdonnnj Feb 20, 2026
9eac052
Merge pull request #244 from cisagov/dependabot/github_actions/action…
mcdonnnj Feb 20, 2026
fe7eb42
Merge pull request #245 from cisagov/improvement/adjust_label-prs_tri…
mcdonnnj Feb 20, 2026
ace1712
Merge pull request #247 from cisagov/improvement/fix_cache_key_format…
mcdonnnj Feb 20, 2026
6ae498b
Merge pull request #246 from cisagov/maintenance/update_pre-commit_hooks
mcdonnnj Feb 20, 2026
87cc6d8
Merge remote-tracking branch 'skeleton/develop' into lineage/skeleton
jsf9k Feb 23, 2026
e0b49f3
Ensure that the same version of bandit is used throughout pre-commit …
jsf9k Feb 23, 2026
46eba38
Upgrade actions/cache to match version used in parent skeleton
jsf9k Feb 23, 2026
26583f9
Clean up definitions of cache keys to match upstream
jsf9k Feb 23, 2026
a059eb8
Update Terraform docs via terraform-docs
jsf9k Feb 23, 2026
d8cb318
Merge pull request #508 from cisagov/lineage/skeleton
jsf9k Feb 23, 2026
eb0b620
Merge https://github.com/cisagov/skeleton-packer into lineage/skeleton
Feb 24, 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
58 changes: 33 additions & 25 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on: # yamllint disable-line rule:truthy
merge_group:
types:
- checks_requested
# We use the default activity types for the pull_request event as specified here:
# https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request
pull_request:
push:
repository_dispatch:
Expand Down Expand Up @@ -126,18 +128,20 @@ jobs:
name: Lookup Go cache directory
run: |
echo "dir=$(go env GOCACHE)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
- uses: actions/cache@v5
env:
BASE_CACHE_KEY: ${{ github.job }}-${{ runner.os }}-\
py${{ steps.setup-python.outputs.python-version }}-\
go${{ steps.setup-go.outputs.go-version }}-\
packer${{ steps.setup-env.outputs.packer-version }}-\
tf${{ steps.setup-env.outputs.terraform-version }}-
BASE_CACHE_KEY: >-
${{ github.job }}-${{ runner.os
}}-py${{ steps.setup-python.outputs.python-version
}}-go${{ steps.setup-go.outputs.go-version
}}-packer${{ steps.setup-env.outputs.packer-version
}}-tf${{ steps.setup-env.outputs.terraform-version }}-
with:
key: ${{ env.BASE_CACHE_KEY }}\
${{ hashFiles('**/requirements-test.txt') }}-\
${{ hashFiles('**/requirements.txt') }}-\
${{ hashFiles('**/.pre-commit-config.yaml') }}
key: >-
${{ env.BASE_CACHE_KEY }}${{
hashFiles('**/requirements-test.txt') }}-${{
hashFiles('**/requirements.txt') }}-${{
hashFiles('**/.pre-commit-config.yaml') }}
# Note that the .terraform directory IS NOT included in the
# cache because if we were caching, then we would need to use
# the `-upgrade=true` option. This option blindly pulls down the
Expand Down Expand Up @@ -195,7 +199,7 @@ jobs:
-o $(go env GOPATH)/bin/terraform-docs
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade pip setuptools
pip install --upgrade --requirement requirements-test.txt
- name: Install Ansible roles
run: ansible-galaxy install --force --role-file ansible/requirements.yml
Expand Down Expand Up @@ -251,17 +255,19 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ steps.setup-env.outputs.python-version }}
- uses: actions/cache@v4
- uses: actions/cache@v5
env:
BASE_CACHE_KEY: ${{ github.job }}-${{ runner.os }}-\
py${{ steps.setup-python.outputs.python-version }}-\
packer${{ steps.setup-env.outputs.packer-version }}-
BASE_CACHE_KEY: >-
${{ github.job }}-${{ runner.os }}-py${{
steps.setup-python.outputs.python-version }}-packer${{
steps.setup-env.outputs.packer-version }}-
with:
path: |
${{ env.PIP_CACHE_DIR }}
key: ${{ env.BASE_CACHE_KEY }}\
${{ hashFiles('**/requirements-test.txt') }}-\
${{ hashFiles('**/requirements.txt') }}
key: >-
${{ env.BASE_CACHE_KEY }}${{
hashFiles('**/requirements-test.txt') }}-${{
hashFiles('**/requirements.txt') }}
restore-keys: |
${{ env.BASE_CACHE_KEY }}
- uses: hashicorp/setup-packer@v3
Expand Down Expand Up @@ -329,17 +335,19 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ steps.setup-env.outputs.python-version }}
- uses: actions/cache@v4
- uses: actions/cache@v5
env:
BASE_CACHE_KEY: ${{ github.job }}-${{ runner.os }}-\
py${{ steps.setup-python.outputs.python-version }}-\
packer${{ steps.setup-env.outputs.packer-version }}-\
tf-${{ steps.setup-env.outputs.terraform-version }}-
BASE_CACHE_KEY: >-
${{ github.job }}-${{ runner.os }}-py${{
steps.setup-python.outputs.python-version }}-packer${{
steps.setup-env.outputs.packer-version }}-tf-${{
steps.setup-env.outputs.terraform-version }}-
with:
path: |
${{ env.PIP_CACHE_DIR }}
key: ${{ env.BASE_CACHE_KEY }}\
${{ hashFiles('**/requirements.txt') }}
key: >-
${{ env.BASE_CACHE_KEY }}${{
hashFiles('**/requirements.txt') }}
restore-keys: |
${{ env.BASE_CACHE_KEY }}
- uses: hashicorp/setup-packer@v3
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ on:
merge_group:
types:
- checks_requested
# We use the default activity types for the pull_request event as specified here:
# https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request
pull_request:
# The branches here must be a subset of the ones in the push key
branches:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on: # yamllint disable-line rule:truthy
merge_group:
types:
- checks_requested
# We use the default activity types for the pull_request event as specified here:
# https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request
pull_request:

# Set a default shell for any run steps. The `-Eueo pipefail` sets errtrace,
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/label-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
name: Label pull requests

on: # yamllint disable-line rule:truthy
# We use the default activity types for the pull_request event as specified here:
# https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request
pull_request:
types:
- edited
- opened
- synchronize

# Set a default shell for any run steps. The `-Eueo pipefail` sets errtrace,
# nounset, errexit, and pipefail. The `-x` will print all commands as they are
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,19 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ steps.setup-env.outputs.python-version }}
- uses: actions/cache@v4
- uses: actions/cache@v5
env:
BASE_CACHE_KEY: ${{ github.job }}-${{ runner.os }}-\
py${{ steps.setup-python.outputs.python-version }}-\
packer${{ steps.setup-env.outputs.packer-version }}-\
tf-${{ steps.setup-env.outputs.terraform-version }}-
BASE_CACHE_KEY: >-
${{ github.job }}-${{ runner.os }}-py${{
steps.setup-python.outputs.python-version }}-packer${{
steps.setup-env.outputs.packer-version }}-tf-${{
steps.setup-env.outputs.terraform-version }}-
with:
path: |
${{ env.PIP_CACHE_DIR }}
key: ${{ env.BASE_CACHE_KEY }}\
${{ hashFiles('**/requirements.txt') }}
key: >-
${{ env.BASE_CACHE_KEY }}${{
hashFiles('**/requirements.txt') }}
restore-keys: |
${{ env.BASE_CACHE_KEY }}
- uses: hashicorp/setup-packer@v3
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,17 +110,19 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ steps.setup-env.outputs.python-version }}
- uses: actions/cache@v4
- uses: actions/cache@v5
env:
BASE_CACHE_KEY: ${{ github.job }}-${{ runner.os }}-\
py${{ steps.setup-python.outputs.python-version }}-\
packer${{ steps.setup-env.outputs.packer-version }}-\
tf-${{ steps.setup-env.outputs.terraform-version }}-
BASE_CACHE_KEY: >-
${{ github.job }}-${{ runner.os }}-py${{
steps.setup-python.outputs.python-version }}-packer${{
steps.setup-env.outputs.packer-version }}-tf-${{
steps.setup-env.outputs.terraform-version }}-
with:
path: |
${{ env.PIP_CACHE_DIR }}
key: ${{ env.BASE_CACHE_KEY }}\
${{ hashFiles('**/requirements.txt') }}
key: >-
${{ env.BASE_CACHE_KEY }}${{
hashFiles('**/requirements.txt') }}
restore-keys: |
${{ env.BASE_CACHE_KEY }}
- uses: hashicorp/setup-packer@v3
Expand Down
28 changes: 14 additions & 14 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,32 +45,32 @@ repos:

# Text file hooks
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.45.0
rev: v0.47.0
hooks:
- id: markdownlint
args:
- --config=.mdl_config.yaml
- repo: https://github.com/rbubley/mirrors-prettier
rev: v3.6.2
rev: v3.8.1
hooks:
- id: prettier
- repo: https://github.com/adrienverge/yamllint
rev: v1.37.1
rev: v1.38.0
hooks:
- id: yamllint
args:
- --strict

# GitHub Actions hooks
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.35.0
rev: 0.36.2
hooks:
- id: check-github-actions
- id: check-github-workflows

# pre-commit hooks
- repo: https://github.com/pre-commit/pre-commit
rev: v4.4.0
rev: v4.5.1
hooks:
- id: validate_manifest

Expand Down Expand Up @@ -130,7 +130,7 @@ repos:
# Python hooks
# Run bandit on the "tests" tree with a configuration
- repo: https://github.com/PyCQA/bandit
rev: 1.9.1
rev: 1.9.3
hooks:
- id: bandit
name: bandit (tests tree)
Expand All @@ -139,13 +139,13 @@ repos:
- --config=.bandit.yml
# Run bandit on everything except the "tests" tree
- repo: https://github.com/PyCQA/bandit
rev: 1.9.1
rev: 1.9.3
hooks:
- id: bandit
name: bandit (everything else)
exclude: tests
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.11.0
rev: 26.1.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
Expand All @@ -155,15 +155,15 @@ repos:
additional_dependencies:
- flake8-docstrings==1.7.0
- repo: https://github.com/PyCQA/isort
rev: 7.0.0
rev: 8.0.0
hooks:
- id: isort
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.18.2
rev: v1.19.1
hooks:
- id: mypy
- repo: https://github.com/pypa/pip-audit
rev: v2.9.0
rev: v2.10.0
hooks:
- id: pip-audit
args:
Expand All @@ -188,7 +188,7 @@ repos:
- --requirement
- requirements.txt
- repo: https://github.com/asottile/pyupgrade
rev: v3.21.1
rev: v3.21.2
hooks:
- id: pyupgrade
args:
Expand All @@ -200,7 +200,7 @@ repos:

# Ansible hooks
- repo: https://github.com/ansible/ansible-lint
rev: v25.11.1
rev: v26.1.1
hooks:
- id: ansible-lint
additional_dependencies:
Expand All @@ -226,7 +226,7 @@ repos:

# Terraform hooks
- repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.103.0
rev: v1.105.0
hooks:
- id: terraform_fmt
- id: terraform_validate
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ No requirements.
## Providers ##

| Name | Version |
|------|---------|
| ---- | ------- |
| amazon-ami | n/a |

## Modules ##
Expand All @@ -277,14 +277,14 @@ No modules.
## Resources ##

| Name | Type |
|------|------|
| ---- | ---- |
| [amazon-ami_amazon-ami.debian_trixie_arm64](https://registry.terraform.io/providers/hashicorp/amazon-ami/latest/docs/data-sources/amazon-ami) | data source |
| [amazon-ami_amazon-ami.debian_trixie_x86_64](https://registry.terraform.io/providers/hashicorp/amazon-ami/latest/docs/data-sources/amazon-ami) | data source |

## Inputs ##

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| ---- | ----------- | ---- | ------- | :------: |
| ami\_regions | The list of AWS regions to copy the AMI to once it has been created. Example: ["us-east-1"] | `list(string)` | `[]` | no |
| build\_region | The region in which to retrieve the base AMI from and build the new AMI. | `string` | `"us-east-1"` | no |
| build\_region\_kms | The ID or ARN of the KMS key to use for AMI encryption. | `string` | `"alias/cool-amis"` | no |
Expand Down
3 changes: 1 addition & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ ansible-core>=2.17.7
jmespath
# The bump-version script requires at least version 3 of semver.
semver>=3
setuptools
wheel
setuptools>=70.1
2 changes: 1 addition & 1 deletion setup-env
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ fi
pyenv local "${env_name}"

# Upgrade pip and friends
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip setuptools

# Find a requirements file (if possible) and install
for req_file in "requirements-dev.txt" "requirements-test.txt" "requirements.txt"; do
Expand Down
10 changes: 5 additions & 5 deletions terraform-build-user/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,27 @@ description of how this code is intended to be used.
## Requirements ##

| Name | Version |
|------|---------|
| ---- | ------- |
| terraform | ~> 1.1 |
| aws | ~> 6.7 |

## Providers ##

| Name | Version |
|------|---------|
| ---- | ------- |
| aws.cool-terraform-backend | ~> 6.7 |
| terraform | n/a |

## Modules ##

| Name | Source | Version |
|------|--------|---------|
| ---- | ------ | ------- |
| iam\_user | github.com/cisagov/ami-build-iam-user-tf-module | n/a |

## Resources ##

| Name | Type |
|------|------|
| ---- | ---- |
| [aws_caller_identity.terraform_backend](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [terraform_remote_state.images](https://registry.terraform.io/providers/hashicorp/terraform/latest/docs/data-sources/remote_state) | data source |
| [terraform_remote_state.images_parameterstore](https://registry.terraform.io/providers/hashicorp/terraform/latest/docs/data-sources/remote_state) | data source |
Expand All @@ -41,7 +41,7 @@ description of how this code is intended to be used.
## Inputs ##

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| ---- | ----------- | ---- | ------- | :------: |
| terraform\_state\_bucket | The name of the S3 bucket where Terraform state is stored. | `string` | n/a | yes |

## Outputs ##
Expand Down
Loading