Skip to content

Commit 5e9af7f

Browse files
author
Mark Mestern
committed
Setup GHA
1 parent 8e74b17 commit 5e9af7f

File tree

3 files changed

+86
-0
lines changed

3 files changed

+86
-0
lines changed

.github/rvu/labels.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
service.rvu.co.uk/owner: energy-back-office

.github/workflows/push.yaml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: push
2+
on: [push, deployment]
3+
permissions:
4+
contents: read
5+
id-token: write
6+
7+
env:
8+
BUILD_NUMBER: ${{ github.run_number }} # used in project file. Version number is 1.0.BUILD_NUMBER
9+
10+
jobs:
11+
deps:
12+
uses: uswitch/reusable-actions/.github/workflows/reusable-clojure-deps.yaml@v2
13+
lint:
14+
needs: deps
15+
uses: uswitch/reusable-actions/.github/workflows/reusable-clojure-lint.yaml@v2
16+
test:
17+
needs: deps
18+
runs-on: ubuntu-latest
19+
env:
20+
APP_ENV: test
21+
IS_IN_CI: "true"
22+
steps:
23+
- run: echo event name ${{ github.event_name }} branch ${{ github.ref_name }}
24+
- uses: actions/checkout@v4
25+
- uses: actions/cache/restore@v4
26+
with:
27+
path: ${{ needs.deps.outputs.deps_path }}
28+
key: ${{ needs.deps.outputs.hash_key }}
29+
- uses: actions/setup-java@v3
30+
with:
31+
distribution: temurin
32+
java-version: 20
33+
- uses: DeLaGuardo/setup-clojure@11.0
34+
with:
35+
lein: 2.9.1
36+
- uses: aws-actions/configure-aws-credentials@v4
37+
with:
38+
role-to-assume: arn:aws:iam::136393635417:role/all-internal-jars-readonly
39+
aws-region: eu-west-1
40+
# Exit status 143 here would indicate timeout
41+
- run: timeout --preserve-status 5m lein test
42+
uberjar:
43+
needs: deps
44+
uses: uswitch/reusable-actions/.github/workflows/reusable-clojure-uberjar.yaml@v2
45+
with:
46+
jar_file: ./target/
47+
lein_version: 2.9.1
48+
distribution: temurin
49+
java_version: 20
50+
deps_key: ${{ needs.deps.outputs.hash_key }}
51+
s3-release:
52+
if: ${{ github.event_name == 'deployment' || github.ref_name == 'master' }}
53+
needs:
54+
- uberjar
55+
- deps
56+
- test
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: actions/checkout@v4
60+
- uses: actions/cache/restore@v4
61+
id: restore-deps
62+
with:
63+
path: ${{ needs.deps.outputs.deps_path }}
64+
key: ${{ needs.deps.outputs.hash_key }}
65+
- uses: actions/cache/restore@v4
66+
id: restore-jar
67+
with:
68+
path: ./target/ # must be IDENTICAL to that passed to uberjar process
69+
key: ${{ needs.uberjar.outputs.uberjar_hash }}
70+
- uses: actions/setup-java@v3
71+
with:
72+
distribution: temurin
73+
java-version: 20
74+
- uses: DeLaGuardo/setup-clojure@11.0
75+
with:
76+
lein: 2.9.1
77+
- uses: aws-actions/configure-aws-credentials@v4
78+
with:
79+
role-to-assume: ${{ vars.AWS_PLATFORM_IT_IAM_ROLE }}
80+
aws-region: eu-west-1
81+
- run: lein deploy s3-releases
82+
id: deploy-jar-to-s3

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
.github
2+
.lsp
3+
.clj-kondo
14
pom.xml
25
*jar
36
lib

0 commit comments

Comments
 (0)