Skip to content

Commit 0e880a3

Browse files
authored
Merge pull request #58 from cisagov/lineage/skeleton
⚠️ CONFLICT! Lineage pull request for: skeleton
2 parents a93237c + 5d5f899 commit 0e880a3

31 files changed

+1069
-113
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ updates:
2020
- dependency-name: mxschmitt/action-tmate
2121
- dependency-name: step-security/harden-runner
2222
# Managed by cisagov/skeleton-ansible-role
23+
- dependency-name: docker/setup-buildx-action
24+
- dependency-name: docker/setup-qemu-action
2325
- dependency-name: github/codeql-action
2426
package-ecosystem: github-actions
2527
schedule:

.github/workflows/build.yml

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,77 @@ jobs:
168168
uses: mxschmitt/action-tmate@v3
169169
if: env.RUN_TMATE
170170
test:
171+
name: >-
172+
test (${{ matrix.scenario }}) -
173+
${{ matrix.platform }}-${{ matrix.architecture }}
171174
needs:
172175
- diagnostics
173176
runs-on: ubuntu-latest
174177
strategy:
175178
fail-fast: false
176179
matrix:
180+
architecture:
181+
- amd64
182+
- arm64
183+
exclude:
184+
# Buster does not have a new enough version of the golang
185+
# package to build any go projects of recent vintage.
186+
- platform: debian10-systemd
187+
scenario: go
188+
# Focal does not have a new enough version of the golang
189+
# package to build any go projects of recent vintage.
190+
- platform: ubuntu-20-systemd
191+
scenario: go
192+
# PowerShell does not support ARM64 on Debian-based platforms.
193+
- architecture: arm64
194+
scenario: powershell
195+
# The latest official release of PowerShell does not support
196+
# Ubuntu Noble. It requires libicu <= 72, but Noble only
197+
# offers libicu 74:
198+
# https://packages.ubuntu.com/search?keywords=libicu&searchon=names&suite=noble&section=all
199+
- platform: ubuntu-24-systemd
200+
scenario: powershell
201+
# Debian Bookworm and Trixie do not offer Python 2.
202+
- platform: debian12-systemd
203+
scenario: python2
204+
- platform: debian13-systemd
205+
scenario: python2
206+
# Ubuntu Noble does not offer Python 2.
207+
- platform: ubuntu-24-systemd
208+
scenario: python2
209+
# Debian Buster does not have a new enough version of cargo
210+
# to parse the cargo.toml file for RustScan. The
211+
# buster-backports package repository no longer exists.
212+
- platform: debian10-systemd
213+
scenario: rust
214+
# Debian Bullseye has an older version of cargo, which gives
215+
# a "feature `resolver` is required" error when installing
216+
# RustScan. There is no newer version in backports.
217+
- platform: debian11-systemd
218+
scenario: rust
219+
# Debian Bookworm has an older version of rustc, which gives
220+
# a "package `regex-syntax v0.8.2` cannot be built because
221+
# it requires rustc 1.65 or newer, while the currently
222+
# active rustc version is 1.63.0" error when installing the
223+
# tool.
224+
- platform: debian12-systemd
225+
scenario: rust
226+
platform:
227+
# This Ansible role only supports Debian-based platforms for
228+
# now.
229+
# - amazonlinux2023-systemd
230+
- debian10-systemd
231+
- debian11-systemd
232+
- debian12-systemd
233+
- debian13-systemd
234+
# This Ansible role only supports Debian-based platforms for
235+
# now.
236+
# - fedora39-systemd
237+
# - fedora40-systemd
238+
- kali-systemd
239+
- ubuntu-20-systemd
240+
- ubuntu-22-systemd
241+
- ubuntu-24-systemd
177242
scenario:
178243
- csharp
179244
- default
@@ -210,8 +275,15 @@ jobs:
210275
run: |
211276
python -m pip install --upgrade pip
212277
pip install --upgrade --requirement requirements-test.txt
278+
- name: Set up QEMU
279+
uses: docker/setup-qemu-action@v3
280+
- name: Set up Docker Buildx
281+
uses: docker/setup-buildx-action@v3
213282
- name: Run molecule tests
214-
run: molecule test --scenario-name ${{ matrix.scenario }}
283+
run: >-
284+
molecule test
285+
--platform-name ${{ matrix.platform }}-${{ matrix.architecture }}
286+
--scenario-name ${{ matrix.scenario }}
215287
- name: Setup tmate debug session
216288
uses: mxschmitt/action-tmate@v3
217289
if: env.RUN_TMATE

.pre-commit-config.yaml

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ default_language_version:
55

66
repos:
77
- repo: https://github.com/pre-commit/pre-commit-hooks
8-
rev: v4.5.0
8+
rev: v4.6.0
99
hooks:
1010
- id: check-case-conflict
1111
- id: check-executables-have-shebangs
@@ -31,7 +31,7 @@ repos:
3131

3232
# Text file hooks
3333
- repo: https://github.com/igorshubovych/markdownlint-cli
34-
rev: v0.39.0
34+
rev: v0.41.0
3535
hooks:
3636
- id: markdownlint
3737
args:
@@ -46,7 +46,7 @@ repos:
4646
# mirror does not pull tags for old major versions once a new major
4747
# version tag is published.
4848
additional_dependencies:
49-
- prettier@3.2.5
49+
- prettier@3.3.1
5050
- repo: https://github.com/adrienverge/yamllint
5151
rev: v1.35.1
5252
hooks:
@@ -56,14 +56,14 @@ repos:
5656

5757
# GitHub Actions hooks
5858
- repo: https://github.com/python-jsonschema/check-jsonschema
59-
rev: 0.28.0
59+
rev: 0.28.4
6060
hooks:
6161
- id: check-github-actions
6262
- id: check-github-workflows
6363

6464
# pre-commit hooks
6565
- repo: https://github.com/pre-commit/pre-commit
66-
rev: v3.6.2
66+
rev: v3.7.1
6767
hooks:
6868
- id: validate_manifest
6969

@@ -98,7 +98,7 @@ repos:
9898

9999
# Shell script hooks
100100
- repo: https://github.com/scop/pre-commit-shfmt
101-
rev: v3.7.0-4
101+
rev: v3.8.0-1
102102
hooks:
103103
- id: shfmt
104104
args:
@@ -116,21 +116,22 @@ repos:
116116
# Redirect operators are followed by a space
117117
- --space-redirects
118118
- repo: https://github.com/shellcheck-py/shellcheck-py
119-
rev: v0.9.0.6
119+
rev: v0.10.0.1
120120
hooks:
121121
- id: shellcheck
122122

123123
# Python hooks
124124
- repo: https://github.com/PyCQA/bandit
125-
rev: 1.7.7
125+
rev: 1.7.8
126126
hooks:
127127
- id: bandit
128-
# Bandit complains about the use of assert() in tests
129-
exclude: molecule/(csharp|default|go|powershell|python|python2|rust)/tests
128+
# Bandit complains about the use of assert() in tests. This should cover
129+
# the tests/ subdirectory for any molecule scenario.
130+
exclude: molecule/[^/]+/tests
130131
args:
131132
- --config=.bandit.yml
132133
- repo: https://github.com/psf/black-pre-commit-mirror
133-
rev: 24.2.0
134+
rev: 24.4.2
134135
hooks:
135136
- id: black
136137
- repo: https://github.com/PyCQA/flake8
@@ -144,24 +145,42 @@ repos:
144145
hooks:
145146
- id: isort
146147
- repo: https://github.com/pre-commit/mirrors-mypy
147-
rev: v1.8.0
148+
rev: v1.10.0
148149
hooks:
149150
- id: mypy
150151
- repo: https://github.com/asottile/pyupgrade
151-
rev: v3.15.1
152+
rev: v3.15.2
152153
hooks:
153154
- id: pyupgrade
154155

155156
# Ansible hooks
156157
- repo: https://github.com/ansible/ansible-lint
157-
rev: v24.2.0
158+
rev: v24.6.0
158159
hooks:
159160
- id: ansible-lint
160-
# files: molecule/default/playbook.yml
161+
additional_dependencies:
162+
# On its own ansible-lint does not pull in ansible, only
163+
# ansible-core. Therefore, if an Ansible module lives in
164+
# ansible instead of ansible-core, the linter will complain
165+
# that the module is unknown. In these cases it is
166+
# necessary to add the ansible package itself as an
167+
# additional dependency, with the same pinning as is done in
168+
# requirements-test.txt of cisagov/skeleton-ansible-role.
169+
# - ansible>=9,<10
170+
# ansible-core 2.16.3 through 2.16.6 suffer from the bug
171+
# discussed in ansible/ansible#82702, which breaks any
172+
# symlinked files in vars, tasks, etc. for any Ansible role
173+
# installed via ansible-galaxy. Hence we never want to
174+
# install those versions.
175+
#
176+
# Note that any changes made to this dependency must also be
177+
# made in requirements.txt in cisagov/skeleton-packer and
178+
# requirements-test.txt in cisagov/skeleton-ansible-role.
179+
- ansible-core>=2.16.7
161180

162181
# Terraform hooks
163182
- repo: https://github.com/antonbabenko/pre-commit-terraform
164-
rev: v1.88.0
183+
rev: v1.90.0
165184
hooks:
166185
- id: terraform_fmt
167186
- id: terraform_validate

defaults/main.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ assessment_tool_owner: root
3131
# system package
3232
assessment_tool_powershell: false
3333

34+
# The version of the powershell system package to install. Note that
35+
# this version is only applied to installations where the package is
36+
# downloaded from https://github.com/PowerShell/PowerShell; Kali
37+
# Linux, for instance, offers its own powershell system package.
38+
assessment_tool_powershell_version: 7.4.2
39+
3440
# A Boolean that can indicate that Python is to be installed and a
3541
# pristine Python virtual environment created. If any of
3642
# assessment_tool_pip_packages or

meta/main.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ galaxy_info:
1717
- mono
1818
- python
1919
- rust
20-
license: CC0
20+
license: CC0-1.0
2121
# With the release of version 2.10, Ansible finally correctly
2222
# identifies Kali Linux as being the Kali distribution of the Debian
2323
# OS family. This simplifies a lot of things for roles that support
@@ -39,14 +39,15 @@ galaxy_info:
3939
# This Ansible role only supports Debian-based platforms for now.
4040
# - name: Fedora
4141
# versions:
42-
# - "38"
4342
# - "39"
43+
# - "40"
4444
- name: Kali
4545
versions:
4646
- "2023"
4747
- name: Ubuntu
4848
versions:
4949
- focal
5050
- jammy
51+
- noble
5152
role_name: assessment_tool
5253
standalone: true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../default/externally-managed-python.yml

0 commit comments

Comments
 (0)