Skip to content

Commit 8294eb4

Browse files
committed
add maven build
1 parent 484850a commit 8294eb4

6 files changed

Lines changed: 435 additions & 165 deletions

File tree

.github/workflows/main.yml

Lines changed: 123 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,132 @@
1-
name: Java CI - Lucee latest
1+
name: Java CI Combined
22

3-
on: [push, pull_request,workflow_dispatch]
3+
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6-
build:
6+
setup:
7+
runs-on: ubuntu-latest
8+
outputs:
9+
version: ${{ steps.extract-version.outputs.VERSION }}
10+
steps:
11+
- name: Checkout repository
12+
uses: actions/checkout@v4
13+
14+
- name: Set up JDK 11
15+
uses: actions/setup-java@v4
16+
with:
17+
distribution: 'temurin'
18+
java-version: '11'
19+
20+
- name: Cache Maven packages
21+
uses: actions/cache@v4
22+
with:
23+
path: ~/.m2
24+
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
25+
restore-keys: |
26+
${{ runner.os }}-maven-
27+
28+
- name: Extract version number
29+
id: extract-version
30+
run: |
31+
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
32+
echo "::set-output name=VERSION::$VERSION"
733
34+
- name: Cache Lucee files
35+
uses: actions/cache@v4
36+
with:
37+
path: ~/work/_actions/lucee/script-runner/main/lucee-download-cache
38+
key: lucee-downloads
39+
40+
- name: Import GPG key
41+
run: |
42+
echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --import
43+
env:
44+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
45+
46+
build-and-test:
847
runs-on: ubuntu-latest
48+
needs: setup
949
env:
10-
luceeVersion: light-6.0.0.152-SNAPSHOT
11-
luceeVersionQuery: 0/all/light
50+
LUCEE_TEST_VERSIONS_PLUS: ${{ vars.LUCEE_TEST_VERSIONS_PLUS }}
51+
strategy:
52+
matrix:
53+
lucee: ${{ fromJSON(vars.LUCEE_TEST_VERSIONS_PLUS) }}
54+
steps:
55+
- uses: actions/checkout@v4
56+
57+
- name: Set up JDK 11
58+
uses: actions/setup-java@v4
59+
with:
60+
java-version: '11'
61+
distribution: 'adopt'
1262

63+
- name: Build and Install with Maven
64+
run: |
65+
echo "------- Maven Install -------";
66+
mvn -B -e -f pom.xml clean install
67+
68+
- name: Upload Artifact
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: ehcache-lex-${{ matrix.lucee.version }}
72+
path: target/*.lex
73+
74+
- name: Checkout Lucee
75+
uses: actions/checkout@v4
76+
with:
77+
repository: lucee/lucee
78+
path: lucee
79+
80+
- name: Run Lucee Test Suite
81+
uses: lucee/script-runner@main
82+
with:
83+
webroot: ${{ github.workspace }}/lucee/test
84+
execute: /bootstrap-tests.cfm
85+
luceeVersion: ${{ matrix.lucee.version }}
86+
luceeVersionQuery: ${{ matrix.lucee.query }}
87+
extensionDir: ${{ github.workspace }}/target
88+
env:
89+
testLabels: ehcache
90+
testAdditional: ${{ github.workspace }}/tests
91+
92+
deploy:
93+
runs-on: ubuntu-latest
94+
needs: [build-and-test]
95+
if: always() && needs.build-and-test.result == 'success'
1396
steps:
14-
- uses: actions/checkout@v4
15-
- name: Set up JDK 11
16-
uses: actions/setup-java@v4
17-
with:
18-
java-version: '11'
19-
distribution: 'adopt'
20-
- name: Cache Maven packages
21-
uses: actions/cache@v4
22-
with:
23-
path: ~/.m2
24-
key: lucee-mssql
25-
restore-keys: |
26-
${{ runner.os }}-m2
27-
maven-cache
28-
- name: Cache Lucee files
29-
uses: actions/cache@v4
30-
with:
31-
path: _actions/lucee/script-runner/main/lucee-download-cache
32-
key: lucee-downloads-${{ env.luceeVersion }}
33-
restore-keys: |
34-
lucee-downloads
35-
- name: Build extension-ehcache with Ant
36-
run: ant -noinput -verbose -buildfile build.xml
37-
- name: Upload Artifact
38-
uses: actions/upload-artifact@v4
39-
with:
40-
name: ehcache-lex
41-
path: dist/*.lex
42-
- name: Checkout Lucee
43-
uses: actions/checkout@v4
44-
with:
45-
repository: lucee/lucee
46-
path: lucee
47-
- name: Run Lucee Test Suite, labels="ehcache,cache"
48-
uses: lucee/script-runner@main
49-
with:
50-
webroot: ${{ github.workspace }}/lucee/test
51-
execute: /bootstrap-tests.cfm
52-
luceeVersion: ${{ env.luceeVersion }}
53-
luceeVersionQuery: ${{ env.luceeVersionQuery }}
54-
extensionDir: ${{ github.workspace }}/dist
55-
env:
56-
testLabels: ehcache,cache
57-
testAdditional: ${{ github.workspace }}/tests
97+
- name: Checkout repository
98+
uses: actions/checkout@v4
99+
100+
- name: Set up JDK 11
101+
uses: actions/setup-java@v4
102+
with:
103+
distribution: 'temurin'
104+
java-version: '11'
105+
106+
- name: Cache Maven packages
107+
uses: actions/cache@v4
108+
with:
109+
path: ~/.m2
110+
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
111+
restore-keys: |
112+
${{ runner.os }}-maven-
113+
114+
- name: Import GPG key
115+
run: |
116+
echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --import
117+
env:
118+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
58119

120+
- name: Build and Deploy with Maven
121+
env:
122+
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
123+
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
124+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
125+
run: |
126+
if [[ "${{ needs.setup.outputs.version }}" == *-SNAPSHOT ]]; then
127+
echo "------- Maven Deploy snapshot on ${{ github.event_name }} -------";
128+
mvn -B -e -f pom.xml clean deploy --settings maven-settings.xml
129+
else
130+
echo "------- Maven Deploy release on ${{ github.event_name }} -------";
131+
mvn -B -e -f pom.xml clean deploy -DperformRelease=true --settings maven-settings.xml
132+
fi

build.number

Lines changed: 0 additions & 3 deletions
This file was deleted.

build.properties

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)