Skip to content

ci: fix ansible-lint, scorecard and markdownlint failures on main - #125

Merged
sknrao merged 2 commits into
opiproject:mainfrom
mgheorghe:ci-fix
Oct 26, 2026
Merged

sknrao merged 2 commits into
opiproject:mainfrom
mgheorghe:ci-fix

Conversation

@mgheorghe

@mgheorghe mgheorghe commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Every open PR (#106, #114, #115, #116, #117, #124) fails the same three checks. None of these failures comes from the PRs themselves; they all come from main. Merging this first should turn the other PRs green once they are rebased.

Check Cause Fix
Ansible lint ansible/ansible-lint@v24.9.2 installs ansible-core 2.19, which removed ansible.parsing.yaml.constructor, so the lint crashes bump to v26.10.1; the playbooks pass it in the production profile with no findings
Scorecards the shared workflow pins ossf/scorecard-action v2.3.1, whose image comes from gcr.io and now fails with a billing error local scorecard.yml on v2.5.0 (ghcr.io image), with SHA-pinned checkout, upload-artifact and codeql actions; fork PRs only run the analysis, and publishing and the SARIF upload run on main
markdown-lint 130 MD060 (unaligned tables in bom.md and ips.md) and 14 MD059 ("here" link text) tables aligned and link texts made descriptive; the OTEL links in hardware/mgmt/README.md now point at otel.md, where the page actually lives

Checked locally with the same tools CI uses: markdownlint-cli 0.49.1 (--ignore=minutes --disable=MD013) reports 0 findings, and ansible-lint 26.10.1 with ansible-core 2.21 reports 0 failures and 0 warnings.

After this merges, #114, #115 and #124 will need a rebase: they touch some of the same lines in ips.md, server-setup.md and hardware/mgmt/README.md.

Also in this PR: hardware/ToR/arista.config carried the sha512-crypt hashes of the enable, admin and arista passwords. Salted hashes can still be guessed offline with no lockout, so they are now sha512 <hash> placeholders. The A100G config already had a dummy value and now uses the same placeholder. Nothing applies these files to the switches yet (the upload task in ansible/switches.yml is a TODO). Removing the lines does not remove them from git history, so the passwords behind them should be treated as exposed.

Every PR fails three checks that come from main, not from the PR:

- Ansible lint: ansible-lint 24.9.2 crashes on the ansible-core 2.19 it now
  installs (no module ansible.parsing.yaml.constructor). Move to v26.10.1;
  the playbooks pass it with no findings.
- Scorecards: scorecard-action v2.3.1 pulls its image from gcr.io, which now
  fails with a billing error. Use a local copy of the shared workflow on
  v2.5.0 (ghcr.io image) with current checkout, upload-artifact and codeql
  actions. Fork PRs only run the analysis; publishing and the SARIF upload
  happen on main.
- markdown-lint: align the bom.md and ips.md tables (MD060) and replace
  "here" link texts with descriptive ones (MD059). Also point the OTEL links
  in hardware/mgmt/README.md at otel.md, which is where the page lives.

Signed-off-by: Mircea Dan Gheorghe <mircea-dan.gheorghe@keysight.com>
@mgheorghe
mgheorghe requested a review from a team as a code owner October 22, 2026 15:48
steps:
- uses: actions/checkout@v4
- uses: ansible/ansible-lint@v24.9.2
- uses: ansible/ansible-lint@v26.10.1
The ToR config carried the sha512-crypt hashes of the enable, admin and
arista passwords. Salted hashes can still be guessed offline at GPU speed
with no lockout, so keep them out of a public repo. The A100G config
already had a dummy value; use the same <hash> placeholder there.

Nothing applies these files to the switches yet (the upload task in
switches.yml is a TODO), so fill in the real hashes before using them.

Signed-off-by: Mircea Dan Gheorghe <mircea-dan.gheorghe@keysight.com>

@sknrao sknrao left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sknrao
sknrao merged commit 0575506 into opiproject:main Oct 26, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants