Skip to content

Implement CI/CD pipelines with GitHub Actions#16

Open
vtomasr5 wants to merge 5 commits into
mainfrom
set-up-ci/cd-pipelines
Open

Implement CI/CD pipelines with GitHub Actions#16
vtomasr5 wants to merge 5 commits into
mainfrom
set-up-ci/cd-pipelines

Conversation

@vtomasr5

@vtomasr5 vtomasr5 commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator

This PR sets up comprehensive CI/CD workflows for the close-mongo-ops-manager project using GitHub Actions.

Changes:

  • Add CI workflow (.github/workflows/ci.yml) that runs on all branches and pull requests
    • Includes linting with ruff on Python 3.13
    • Runs tests via pytest on Python 3.12, 3.13, and 3.14 with fail-fast disabled
  • Add Release workflow (.github/workflows/release.yml) that triggers on version tags (v* pattern)
    • Builds package using uv build
    • Publishes to PyPI using trusted publishing (OIDC)
    • Creates GitHub releases with generated changelogs and built artifacts

These workflows enable automated testing across all commits and automated releases to PyPI when maintainers push version tags.

Fixes #12

@vtomasr5 vtomasr5 self-assigned this Mar 19, 2026
@vtomasr5 vtomasr5 requested a review from a team March 20, 2026 09:31
@vtomasr5 vtomasr5 requested a review from Copilot May 26, 2026 13:56

Copilot AI 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.

Pull request overview

This PR introduces GitHub Actions workflows to automate continuous integration (linting + tests) for all branches/PRs and continuous delivery (build, PyPI publish, and GitHub Release creation) on version tags for the close-mongo-ops-manager Python project.

Changes:

  • Add a CI workflow running ruff linting and pytest across a Python version matrix.
  • Add a Release workflow that builds artifacts with uv, publishes to PyPI via OIDC trusted publishing, and creates a GitHub Release with an auto-generated changelog and attached artifacts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/ci.yml Adds CI jobs for ruff linting and pytest test matrix execution using uv.
.github/workflows/release.yml Adds tag-triggered build → PyPI publish → GitHub Release pipeline with changelog generation and artifact attachments.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml

- name: Run ruff check
run: uv run ruff check .

Comment on lines +8 to +10
permissions:
contents: write
id-token: write
path: dist/

- name: Generate changelog
id: changelog
CHANGELOG=$(git log --oneline --pretty=format:"- %s" HEAD)
else
# Get commits since previous tag
CHANGELOG=$(git log --oneline --pretty=format:"- %s" ${PREV_TAG}..HEAD)
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.

Set up CI/CD

2 participants