From 67fac9f81e2dc0d572e2f0bb0f706f0740db6bbf Mon Sep 17 00:00:00 2001 From: MODI Janit Date: Tue, 23 Dec 2025 11:27:35 -0500 Subject: [PATCH 1/4] gha --- .github/workflows/ci.yml | 120 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..afba6b7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,120 @@ +name: CI + +on: + push: + branches: + - '**' + tags: + - '**' + pull_request: + branches: + - '**' + +jobs: + build: + name: "Build & Test" + runs-on: selfhosted-ubuntu-medium + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y gzip + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + cache: 'lein' + + - 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 + + - name: Run tests + run: lein test + + test: + name: "Test (develop branch)" + runs-on: selfhosted-ubuntu-medium + if: github.ref == 'refs/heads/develop' + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y gzip + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + cache: 'lein' + + - 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 + + - name: Install dependencies + run: | + lein deps + lein pom + + - name: Run tests + run: lein test + + publish: + name: "Publish to Clojars" + runs-on: selfhosted-ubuntu-medium + if: startsWith(github.ref, 'refs/tags/') + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y gzip + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + cache: 'lein' + + - 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 + + - name: Install dependencies + run: | + lein deps + lein pom + + - name: Run tests + run: lein test + + - name: Deploy to Clojars + env: + CLOJARS_USERNAME: ${{ vars.CLOJARS_USERNAME }} + CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD}} + run: lein deploy From 79c02bc9fcb6929d156a3073240e799200353839 Mon Sep 17 00:00:00 2001 From: MODI Janit Date: Tue, 23 Dec 2025 11:34:02 -0500 Subject: [PATCH 2/4] gha --- .github/actions/setup-leiningen/action.yml | 41 +++++++++++++ .github/workflows/ci.yml | 70 +++------------------- 2 files changed, 49 insertions(+), 62 deletions(-) create mode 100644 .github/actions/setup-leiningen/action.yml diff --git a/.github/actions/setup-leiningen/action.yml b/.github/actions/setup-leiningen/action.yml new file mode 100644 index 0000000..11deb11 --- /dev/null +++ b/.github/actions/setup-leiningen/action.yml @@ -0,0 +1,41 @@ +name: 'Setup Leiningen' +description: 'Install system dependencies, JDK, and Leiningen for Clojure projects' +inputs: + java-version: + description: 'Java version to set up' + required: false + default: '17' + install-deps: + description: 'Whether to install Leiningen dependencies (lein deps and lein pom)' + required: false + default: 'false' +runs: + using: 'composite' + steps: + - name: Install system dependencies + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y gzip + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: ${{ inputs.java-version }} + cache: 'lein' + + - name: Install Leiningen + shell: bash + run: | + wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein + chmod +x lein + sudo mv lein /usr/local/bin/ + lein version + + - name: Install Leiningen dependencies + if: inputs.install-deps == 'true' + shell: bash + run: | + lein deps + lein pom diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afba6b7..04f38ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,24 +19,8 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y gzip - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '17' - cache: 'lein' - - - 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 + - name: Setup Leiningen + uses: ./.github/actions/setup-leiningen - name: Run tests run: lein test @@ -50,29 +34,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y gzip - - - name: Set up JDK 17 - uses: actions/setup-java@v4 + - name: Setup Leiningen + uses: ./.github/actions/setup-leiningen with: - distribution: 'temurin' - java-version: '17' - cache: 'lein' - - - 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 - - - name: Install dependencies - run: | - lein deps - lein pom + install-deps: 'true' - name: Run tests run: lein test @@ -86,29 +51,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y gzip - - - name: Set up JDK 17 - uses: actions/setup-java@v4 + - name: Setup Leiningen + uses: ./.github/actions/setup-leiningen with: - distribution: 'temurin' - java-version: '17' - cache: 'lein' - - - 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 - - - name: Install dependencies - run: | - lein deps - lein pom + install-deps: 'true' - name: Run tests run: lein test From 2b7fdc7dc6a7c908113ac2ca2691ee4d598a81e4 Mon Sep 17 00:00:00 2001 From: MODI Janit Date: Tue, 23 Dec 2025 11:51:00 -0500 Subject: [PATCH 3/4] gha --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04f38ff..bee075d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ on: jobs: build: name: "Build & Test" - runs-on: selfhosted-ubuntu-medium + runs-on: ubuntu-latest steps: - name: Checkout code @@ -27,7 +27,7 @@ jobs: test: name: "Test (develop branch)" - runs-on: selfhosted-ubuntu-medium + runs-on: ubuntu-latest if: github.ref == 'refs/heads/develop' steps: @@ -44,7 +44,7 @@ jobs: publish: name: "Publish to Clojars" - runs-on: selfhosted-ubuntu-medium + runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') steps: From e5b938a0ac33baca81b2a2e42c4a703990fa2667 Mon Sep 17 00:00:00 2001 From: MODI Janit Date: Tue, 23 Dec 2025 11:52:10 -0500 Subject: [PATCH 4/4] lein --- .github/actions/setup-leiningen/action.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/setup-leiningen/action.yml b/.github/actions/setup-leiningen/action.yml index 11deb11..c7bf075 100644 --- a/.github/actions/setup-leiningen/action.yml +++ b/.github/actions/setup-leiningen/action.yml @@ -23,7 +23,6 @@ runs: with: distribution: 'temurin' java-version: ${{ inputs.java-version }} - cache: 'lein' - name: Install Leiningen shell: bash