feat: implement Python CI action with SAST, SCA, lint, build, test, version, package, release, reintegrate#1
Conversation
…ersion, package, release, reintegrate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive Python CI GitHub Action that automates SAST, SCA, linting, building, testing, versioning, and releasing. The implementation includes a suite of shell scripts, a configuration reader, and various test fixtures to validate different package managers and failure scenarios. Feedback focuses on improving the reliability and integration of the action: the configuration loading logic needs to be properly integrated into the workflow using $GITHUB_ENV, and tool installation steps should avoid using '|| true' to prevent silent failures. Additionally, improvements were suggested to ensure version string integrity by not capturing stderr, adding sudo for system binary installation, and making the reintegration target branch configurable.
- Add Load config step in action.yml so .github/pipery/config.yaml is actually read
- Add target_branch input and wire INPUT_TARGET_BRANCH to step-reintegrate.sh
- Use ${INPUT_TARGET_BRANCH:-main} in step-reintegrate.sh instead of hardcoded main
- Remove 2>&1 from step-version.sh to avoid capturing stderr in version string
- Detect runner ARCH dynamically in setup-psh.sh; add sudo for /usr/local/bin install
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
.github/pipery/config.yamlpsh(pipery-shell) to produce structuredpipery.jsonllogspipery-stepsCLI frompipery-toolingTest plan
pipery-actions test --repo .passes all test specs locallypipery-test.ymlreusable workflow on pushpipery-release.ymlreusable workflow on dispatchreleases/v0branch contains allsrc/scripts sogithub.action_pathresolves correctly🤖 Generated with Claude Code