-
Notifications
You must be signed in to change notification settings - Fork 10
feat: update release process #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @koblas, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request updates the project's release process by completely removing the existing CircleCI configuration file. This change suggests a transition away from CircleCI for automated testing and deployment, likely in favor of a different or new CI/CD solution. The primary impact is the discontinuation of the previously defined CircleCI workflows for testing and package publishing.
Highlights
- CI/CD Configuration: The
.circleci/config.yml
file has been entirely removed, indicating a deprecation of the CircleCI-based automated test and deploy workflow.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request removes the project's CircleCI configuration, which handles the entire test and release process. While the title indicates an update to the release process, this change only removes the existing CI/CD pipeline without providing a replacement. This is a critical change that will prevent automated tests and package deployments from running. If the intention is to migrate to a new CI/CD system (such as GitHub Actions), it is highly recommended to include the new configuration in this same pull request. This will ensure a smooth transition and prevent a situation where the main branch has no automated quality checks or deployment mechanism.
There was a problem hiding this comment.
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 migrates the CI/CD pipeline from CircleCI to GitHub Actions, implementing a modern release process with semantic versioning and automated publishing.
- Removes CircleCI configuration and replaces it with GitHub Actions workflows
- Implements a two-stage workflow: build/test followed by automated release
- Sets up semantic-release for automated version management and publishing
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
.github/workflows/release.yaml | Adds automated release workflow using semantic-release for version management and NPM publishing |
.github/workflows/main.yaml | Adds build and test workflow that runs on push/PR to main branch |
.circleci/config.yml | Removes old CircleCI configuration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
name: Release | ||
runs-on: ubuntu-latest | ||
outputs: | ||
version: ${{ steps.version.outputs.test }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The output references 'steps.version.outputs.test' but there is no step with id 'version'. The step that generates version output has id 'release', so this should be 'steps.release.outputs.version'.
version: ${{ steps.version.outputs.test }} | |
version: ${{ steps.release.outputs.version }} |
Copilot uses AI. Check for mistakes.
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} | ||
run: | | ||
npx semantic-release | ||
echo "version=$(npx semantic-release --version)" >> $GITHUB_OUTPUT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The command 'npx semantic-release --version' returns the semantic-release tool version, not the released package version. This should capture the actual version released by semantic-release, typically through parsing its output or using a semantic-release plugin that sets the version as an output.
echo "version=$(npx semantic-release --version)" >> $GITHUB_OUTPUT | |
RELEASE_OUTPUT=$(npx semantic-release) | |
VERSION=$(echo "$RELEASE_OUTPUT" | grep -Eo 'Published release v[0-9]+\.[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+') | |
echo "version=$VERSION" >> $GITHUB_OUTPUT |
Copilot uses AI. Check for mistakes.
# note you'll typically need to create a personal access token | ||
# with permissions to create releases in the other repoj | ||
#token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} | ||
tag_name: ${{ steps.release.outputs.version }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This references 'steps.release.outputs.version' but the release step doesn't properly set this output. Since semantic-release typically creates tags automatically, this GitHub Release action may be redundant or should use the tag created by semantic-release.
tag_name: ${{ steps.release.outputs.version }} | |
tag_name: ${{ github.ref_name }} |
Copilot uses AI. Check for mistakes.
🎉 This PR is included in version 0.11.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
No description provided.