Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a5e3cc1
fix(lh-102436):Local credentials cannot enter the Galaxy artifact
huides00 Aug 11, 2026
b58da43
fix(lh-102436): Inventory plugin remove exports of the API token
huides00 Aug 11, 2026
0396937
fix(lh-102436): hide smart licensing token
huides00 Aug 11, 2026
2b3ee4b
fix(lh-102436): install resolves a broken SDK
huides00 Aug 11, 2026
bb75c2e
fix(lh-102436): hide api-token
huides00 Aug 11, 2026
d7921f6
fix(lh-102436): unresolved runtime dependency
huides00 Aug 11, 2026
1d6d303
fix(lh-102436): query correct distribution name
huides00 Aug 11, 2026
684b70e
fix(lh-102436): remove tests and e2e files from pypi wheel
huides00 Aug 11, 2026
d69bea6
fix(lh-102436): make the Galaxy artifact independently installable an…
huides00 Aug 11, 2026
a04e3cd
fix(lh-102436): Galaxy metadata/runtime issues
huides00 Aug 11, 2026
3c7b987
fix(lh-102436): poetry run in venv
huides00 Aug 11, 2026
7338f0d
fix(lh-102436): stabilizes the final package metadata and README
huides00 Aug 11, 2026
e58ecbb
fix(lh-102436): add manual build-once release workflow
huides00 Aug 12, 2026
226fb91
fix(lh-102436): harden release and credential workflows
huides00 Aug 12, 2026
5765498
fix(lh-102436): use current vault key in CLI E2E
huides00 Aug 12, 2026
f2e8f47
fix(lh-102436): close remaining release blockers
huides00 Aug 12, 2026
ee0e8c4
fix(lh-102436): use repository secrets for publishing
huides00 Aug 13, 2026
3d3e50d
fix(lh-102436): fix doc styling
huides00 Aug 13, 2026
081eff8
fix(lh-102436): proper release
huides00 Aug 13, 2026
abc5c07
fix(lh-102436): address release review feedback
huides00 Aug 17, 2026
3aa71bb
fix(lh-102436): correct gitleaks module path
huides00 Aug 17, 2026
d2d36cf
fix(lh-102436): integrate profile workflow with release
huides00 Aug 18, 2026
1f408b2
fix(lh-102436): resolve generated documentation conflicts
huides00 Aug 18, 2026
68a4b27
fix(lh-102436): align network object service conventions
huides00 Aug 18, 2026
79baacf
fix(lh-102436): align network group service conventions
huides00 Aug 18, 2026
46ee9a5
fix(lh-102436): make ansible sanity checks pass
huides00 Aug 18, 2026
10072f0
fix(lh-102436): vault ansible e2e device password
huides00 Aug 18, 2026
6059b6a
fix(lh-102436): prepare first ansible release metadata
huides00 Aug 18, 2026
0948029
fix(lh-102436): honor keyword-only object lookups
huides00 Aug 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: 3 additions & 1 deletion .cz.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
commitizen:
name: cz_conventional_commits
version_provider: poetry
version_provider: pep621
tag_format: v$version
update_changelog_on_bump: false
version_files:
- sccfm-ansible/plugins/module_utils/dependencies.py:_PAIRED_DEVKIT_REQUIREMENT
704 changes: 667 additions & 37 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

35 changes: 31 additions & 4 deletions .github/workflows/generated-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
workflow_dispatch:

permissions:
contents: write
contents: read

jobs:
commit-generated-docs:
Expand All @@ -21,14 +21,13 @@ jobs:
github.event.workflow_run.head_branch == 'main'
)
runs-on: ubuntu-latest
environment: release-bot

@Scoombe Scoombe Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[P1] Keep the protected environment around this write path

Removing release-bot also removes its secret scoping and any configured deployment protection or approval rules, while this job still obtains a deploy key and pushes directly to main. Please retain the protected environment and, independently, avoid making the write credential available during dependency installation and documentation generation; inject it only for the final push.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The credential-exposure portion is addressed in abc5c07: generated-docs now has contents: read, uses a tokenless checkout, and receives the deploy key only in the final guarded push step with strict host-key checking and cleanup. We intentionally did not restore environment: release-bot because this repository has no configured GitHub environments and the maintainer selected repository-level secrets. Adding only the YAML key would auto-create an unprotected environment without approval rules or environment-scoped secrets, so it would not add protection. If a protected environment is configured later, the deploy key should move into it.

steps:
- name: Checkout main
uses: actions/checkout@v7
with:
ref: main
fetch-depth: 0
ssh-key: ${{ secrets.SCCFM_CI_DEPLOY_KEY }}
persist-credentials: false

- name: Refresh branch
run: git pull --ff-only origin main
Expand Down Expand Up @@ -61,7 +60,9 @@ jobs:
poetry run check-doc-artifacts

- name: Commit generated docs
id: docs
run: |
echo "changed=false" >> "$GITHUB_OUTPUT"
if [ -z "$(git status --porcelain docs/cli docs/man docs/ansible)" ]; then
echo "Generated docs are up to date."
exit 0
Expand All @@ -71,4 +72,30 @@ jobs:
git config user.email "github-actions@users.noreply.cisco.com"
git add docs/cli docs/man docs/ansible
git commit -m "docs: update generated references"
git push origin HEAD:main
echo "changed=true" >> "$GITHUB_OUTPUT"

- name: Push generated docs
if: steps.docs.outputs.changed == 'true'
env:
SCCFM_CI_DEPLOY_KEY: ${{ secrets.SCCFM_CI_DEPLOY_KEY }}
run: |
set -euo pipefail
SSH_ROOT="$(mktemp -d "${RUNNER_TEMP}/sccfm-docs-ssh.XXXXXX")"
cleanup_ssh() {
rm -rf "${SSH_ROOT}"
}
trap cleanup_ssh EXIT
umask 077
DEPLOY_KEY_PATH="${SSH_ROOT}/deploy-key"
KNOWN_HOSTS_PATH="${SSH_ROOT}/known-hosts"
test -n "${SCCFM_CI_DEPLOY_KEY}"
printf '%s\n' "${SCCFM_CI_DEPLOY_KEY}" > "${DEPLOY_KEY_PATH}"
chmod 600 "${DEPLOY_KEY_PATH}"
unset SCCFM_CI_DEPLOY_KEY
curl --fail --silent --show-error --location \
https://api.github.com/meta \
| jq -er '.ssh_keys[] | "github.com " + .' > "${KNOWN_HOSTS_PATH}"
test -s "${KNOWN_HOSTS_PATH}"
GIT_SSH_COMMAND="ssh -i ${DEPLOY_KEY_PATH} -o IdentitiesOnly=yes -o UserKnownHostsFile=${KNOWN_HOSTS_PATH} -o StrictHostKeyChecking=yes"
PUSH_REMOTE="git@github.com:${GITHUB_REPOSITORY}.git"
GIT_SSH_COMMAND="${GIT_SSH_COMMAND}" git push "${PUSH_REMOTE}" HEAD:main
58 changes: 0 additions & 58 deletions .github/workflows/publish-to-pypi.yml

This file was deleted.

Loading