Skip to content

Commit 79c02bc

Browse files
committed
gha
1 parent 67fac9f commit 79c02bc

2 files changed

Lines changed: 49 additions & 62 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: 'Setup Leiningen'
2+
description: 'Install system dependencies, JDK, and Leiningen for Clojure projects'
3+
inputs:
4+
java-version:
5+
description: 'Java version to set up'
6+
required: false
7+
default: '17'
8+
install-deps:
9+
description: 'Whether to install Leiningen dependencies (lein deps and lein pom)'
10+
required: false
11+
default: 'false'
12+
runs:
13+
using: 'composite'
14+
steps:
15+
- name: Install system dependencies
16+
shell: bash
17+
run: |
18+
sudo apt-get update
19+
sudo apt-get install -y gzip
20+
21+
- name: Set up JDK
22+
uses: actions/setup-java@v4
23+
with:
24+
distribution: 'temurin'
25+
java-version: ${{ inputs.java-version }}
26+
cache: 'lein'
27+
28+
- name: Install Leiningen
29+
shell: bash
30+
run: |
31+
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
32+
chmod +x lein
33+
sudo mv lein /usr/local/bin/
34+
lein version
35+
36+
- name: Install Leiningen dependencies
37+
if: inputs.install-deps == 'true'
38+
shell: bash
39+
run: |
40+
lein deps
41+
lein pom

.github/workflows/ci.yml

Lines changed: 8 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,8 @@ jobs:
1919
- name: Checkout code
2020
uses: actions/checkout@v4
2121

22-
- name: Install dependencies
23-
run: |
24-
sudo apt-get update
25-
sudo apt-get install -y gzip
26-
27-
- name: Set up JDK 17
28-
uses: actions/setup-java@v4
29-
with:
30-
distribution: 'temurin'
31-
java-version: '17'
32-
cache: 'lein'
33-
34-
- name: Install Leiningen
35-
run: |
36-
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
37-
chmod +x lein
38-
sudo mv lein /usr/local/bin/
39-
lein version
22+
- name: Setup Leiningen
23+
uses: ./.github/actions/setup-leiningen
4024

4125
- name: Run tests
4226
run: lein test
@@ -50,29 +34,10 @@ jobs:
5034
- name: Checkout code
5135
uses: actions/checkout@v4
5236

53-
- name: Install dependencies
54-
run: |
55-
sudo apt-get update
56-
sudo apt-get install -y gzip
57-
58-
- name: Set up JDK 17
59-
uses: actions/setup-java@v4
37+
- name: Setup Leiningen
38+
uses: ./.github/actions/setup-leiningen
6039
with:
61-
distribution: 'temurin'
62-
java-version: '17'
63-
cache: 'lein'
64-
65-
- name: Install Leiningen
66-
run: |
67-
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
68-
chmod +x lein
69-
sudo mv lein /usr/local/bin/
70-
lein version
71-
72-
- name: Install dependencies
73-
run: |
74-
lein deps
75-
lein pom
40+
install-deps: 'true'
7641

7742
- name: Run tests
7843
run: lein test
@@ -86,29 +51,10 @@ jobs:
8651
- name: Checkout code
8752
uses: actions/checkout@v4
8853

89-
- name: Install dependencies
90-
run: |
91-
sudo apt-get update
92-
sudo apt-get install -y gzip
93-
94-
- name: Set up JDK 17
95-
uses: actions/setup-java@v4
54+
- name: Setup Leiningen
55+
uses: ./.github/actions/setup-leiningen
9656
with:
97-
distribution: 'temurin'
98-
java-version: '17'
99-
cache: 'lein'
100-
101-
- name: Install Leiningen
102-
run: |
103-
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
104-
chmod +x lein
105-
sudo mv lein /usr/local/bin/
106-
lein version
107-
108-
- name: Install dependencies
109-
run: |
110-
lein deps
111-
lein pom
57+
install-deps: 'true'
11258

11359
- name: Run tests
11460
run: lein test

0 commit comments

Comments
 (0)