Skip to content

Conversation

@janitmodi
Copy link

No description provided.

Copy link

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

Comment on lines 22 to 25
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gzip
Copy link

Copilot AI Dec 23, 2025

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.

Copilot uses AI. Check for mistakes.
- name: Deploy to Clojars
env:
CLOJARS_USERNAME: ${{ vars.CLOJARS_USERNAME }}
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD}}
Copy link

Copilot AI Dec 23, 2025

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.

Suggested change
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD}}
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD }}

Copilot uses AI. Check for mistakes.
Comment on lines 34 to 39
- 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
Copy link

Copilot AI Dec 23, 2025

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.

Copilot uses AI. Check for mistakes.
- name: Install Leiningen
shell: bash
run: |
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein

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

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.

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.

3 participants