-
Notifications
You must be signed in to change notification settings - Fork 0
gha #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
base: master
Are you sure you want to change the base?
gha #35
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.
Pull request overview
This PR introduces a GitHub Actions CI/CD workflow for a Clojure project. The workflow automates building, testing, and publishing the project to Clojars.
Key Changes
- Adds a comprehensive CI pipeline that runs on all branches and pull requests
- Implements conditional testing and deployment jobs based on branch/tag context
- Configures Java 17 and Leiningen for Clojure project builds
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/ci.yml
Outdated
| - name: Install dependencies | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y gzip |
Copilot
AI
Dec 23, 2025
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 step name 'Install dependencies' is duplicated multiple times in the workflow with different purposes. This step installs system packages (gzip), while later steps with the same name install Leiningen dependencies. Consider renaming this to 'Install system dependencies' to clarify its purpose and distinguish it from other dependency installation steps.
| - name: Deploy to Clojars | ||
| env: | ||
| CLOJARS_USERNAME: ${{ vars.CLOJARS_USERNAME }} | ||
| CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD}} |
Copilot
AI
Dec 23, 2025
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.
Missing space before the closing braces in the secrets expression. Should be '${{ secrets.CLOJARS_PASSWORD }}' for consistency with the CLOJARS_USERNAME variable on line 118.
| CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD}} | |
| CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD }} |
.github/workflows/ci.yml
Outdated
| - name: Install Leiningen | ||
| run: | | ||
| wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein | ||
| chmod +x lein | ||
| sudo mv lein /usr/local/bin/ | ||
| lein version |
Copilot
AI
Dec 23, 2025
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 Leiningen installation steps are duplicated across all three jobs (build, test, and publish). Consider extracting this into a reusable composite action or using a pre-built action from the marketplace to reduce duplication and improve maintainability.
| - name: Install Leiningen | ||
| shell: bash | ||
| run: | | ||
| wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein |
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.
We should pin this version. Consider using https://github.com/DeLaGuardo/setup-clojure
| if: inputs.install-deps == 'true' | ||
| shell: bash | ||
| run: | | ||
| lein deps |
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 step is redundant. It will run implicitly as part of lein pom.
No description provided.