chore: add project scaffolding and CI/CD workflows#1
Merged
Conversation
Add gitignore updates, Apache-2.0 license, pre-commit config, PR guidance, PR template, and GitHub Actions workflows for releases, release candidates, pull request testing, and lint/security scanning. Release versioning uses conventional commits for semver detection.
There was a problem hiding this comment.
Pull request overview
Adds baseline repository scaffolding (license, ignore rules, contributor guidance) and introduces GitHub Actions workflows for PR validation, lint/security scanning, and automated release/RC publishing with conventional-commit-based semver bumping.
Changes:
- Add contributor PR guidance and a default PR template.
- Add pre-commit configuration (ruff + gitleaks + standard hooks) and expand
.gitignore. - Add CI workflows for PR tests, lint/security scanning, and release/RC automation.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
PR_GUIDANCE.md |
Documents local dev/PR expectations and release process. |
LICENSE |
Introduces Apache-2.0 licensing text for the repository. |
.pre-commit-config.yaml |
Configures pre-commit hooks (including ruff and gitleaks). |
.gitignore |
Expands ignored artifacts (envs, caches, lockfiles, Pulumi variants). |
.github/workflows/pull_request.yml |
Runs pytest on PRs across a Python version matrix using uv. |
.github/workflows/lint_and_scan.yml |
Adds ruff lint/format checks plus gitleaks and pip-audit scanning. |
.github/workflows/github_release_rc.yml |
Automates RC tagging and GitHub pre-releases on pushes to main. |
.github/workflows/github_release.yml |
Automates stable releases via tag push or manual dispatch with bump detection. |
.github/pull_request_template.md |
Adds a structured template for PR authors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Manual dispatch now only creates and pushes the tag, then exits. The tag-push trigger handles changelog generation and release creation, avoiding a double run.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.gitignore, and.pre-commit-config.yaml(ruff, gitleaks, standard hooks)feat:= minor,fix:= patch,!/BREAKING CHANGE= major)Test plan
.pre-commit-config.yamlhooks run successfully withpre-commit run --all-filespull_request.ymltriggers on a test PR and runs pytest across Python 3.9/3.12/3.13lint_and_scan.ymlruns ruff and gitleaks checksgithub_release.ymlmanual dispatch withautobump detectiongithub_release_rc.ymlcreates RC tags on push to main