Skip to content

feat: workflow CLI, functional tests, pytest CVE fix, beta labels#198

Merged
jeff-schnitter merged 20 commits intostagingfrom
197-github-workflow-action-block-tests
Apr 15, 2026
Merged

feat: workflow CLI, functional tests, pytest CVE fix, beta labels#198
jeff-schnitter merged 20 commits intostagingfrom
197-github-workflow-action-block-tests

Conversation

@jeff-schnitter
Copy link
Copy Markdown
Collaborator

Summary

  • Add workflow CLI commands (list, get, create, delete, run, get-run) with functional tests for GitHub and GitLab workflow action blocks
  • Bump pytest from ^8.2.2 to ^9.0.3 to fix CVE-2025-71176
  • Remove (Beta) from entity-relationships commands (now GA)
  • Add (Beta) to workflows run and get-run commands
  • Exclude functional tests from test-all; auto-apply functional marker
  • Consolidate pytest config into pytest.ini (fixes pytest 9 duplicate config warning)
  • Add workflow run/get-run CLI test using JQ data transformation block
  • Make scorecard exemption tests idempotent

Test plan

  • just test-all passes without running functional tests
  • test_run_and_get_run creates, runs, and retrieves a workflow run
  • Scorecard exemption tests handle leftover PENDING state

🤖 Generated with Claude Code

jeff-schnitter and others added 20 commits April 2, 2026 15:59
Release 1.11.0: User-Agent header, entity relationships, Secrets API, and bug fixes
… branch

The default GITHUB_TOKEN does not have permission to push to a branch
with push restrictions enabled, even when github-actions is in the
allow list. Use the GH_TOKEN PAT instead by setting the remote URL.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The git remote set-url approach is overridden by the credential helper
configured by actions/checkout. Passing the token directly to the
checkout action ensures all subsequent git operations use the PAT.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub Actions updates (Node.js 20 deprecation):
- actions/checkout v4 → v6
- actions/setup-python v5 → v6
- anothrNick/github-tag-action 1.64.0 → 1.75.0
- mislav/bump-homebrew-formula-action v3 → v4
- aquasecurity/trivy-action master → v0.35.0

Dependency security fixes:
- requests 2.32.4 → 2.33.1 (CVE fix, medium)
- pygments 2.19.2 → 2.20.0 (ReDoS fix, low)
- fonttools 4.43.0 → 4.60.2 in test fixtures (XML injection fix, medium)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…locks

Set up the foundation for testing all 41 GitHub workflow action blocks:
- Add tests/functional/ directory with pytest marker
- Add Justfile recipes: test-functional, test-functional-import, test-functional-sweep
- Update pytest.ini to exclude functional tests from default runs
- Add design spec documenting the full test approach

Ref: #197

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a new `run` command to the workflows CLI that POSTs to
api/v1/workflows/{tag}/runs. Supports GLOBAL and ENTITY scope,
optional runAs email, initialContext via --context or --context-file,
and an optional --wait flag that polls until the run reaches a terminal
status (COMPLETED, FAILED, or CANCELLED) within a configurable timeout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a new `get-run` command to the workflows CLI that GETs details for
a specific workflow run via api/v1/workflows/{tag}/runs/{run_id}.
Requires --tag and --run-id flags; API key must have the View workflow
runs permission.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Workflow YAMLs use __GITHUB_INTEGRATION_ALIAS__ placeholder
- Import substitutes the placeholder with GITHUB_INTEGRATION_ALIAS env var
- Import test now asserts on failures instead of silently passing
- Added GITHUB_INTEGRATION_ALIAS to Justfile env checks and README

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bump pytest from ^8.2.2 to ^9.0.3 (CVE-2025-71176)
- Consolidate pytest config into pytest.ini (fixes pytest 9 warning)
- Remove (Beta) from entity-relationships (now GA)
- Add (Beta) to workflows run and get-run commands
- Exclude functional tests from test-all in Justfile
- Auto-apply functional marker via conftest.py
- Add workflow run/get-run test using JQ data transformation
- Make scorecard exemption tests idempotent (clear PENDING + APPROVED)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jeff-schnitter jeff-schnitter merged commit b10268c into staging Apr 15, 2026
1 of 3 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.

2 participants