summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-11-02 16:05:34 +0100
committerGitHub <noreply@github.com>2021-11-02 16:05:34 +0100
commita27e1e5ec300b3b0bd3d4631b680d3b052a69b7d (patch)
treef23a0e84d43a3c724c22415840f003ee4686a775 /.github/workflows
parent722bf49b9263005d665b01c8fa6c676ef9a685f7 (diff)
parent29abae146139078b1c7254c0e46b5c9e65cc30cd (diff)
ci: Update Github Actions workflows (#40)
This pull request updates the CI pipeline of the project. **Implementation Notes** - Update to Codecov action v2 - Update to `setup-java` v2 - Migrate to `gradle/gradle-build-action@v2` - Add workflows for testing Java and Gradle EA releases - Update build dependencies **External Dependencies** - Kotlin, Github Actions, Ktlint, Dokka
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml37
-rw-r--r--.github/workflows/release.yml26
-rw-r--r--.github/workflows/test-gradle-rc.yml17
-rw-r--r--.github/workflows/test-java-ea.yml18
4 files changed, 52 insertions, 46 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9bd42254..d72ad63e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -7,8 +7,8 @@ on:
branches: [master]
jobs:
- build-simulator:
- name: Build Simulator (Java ${{ matrix.java }})
+ build:
+ name: Build (Java ${{ matrix.java }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -23,30 +23,17 @@ jobs:
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
+ distribution: 'zulu'
java-version: ${{ matrix.java }}
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- - uses: actions/cache@v2
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-${{ matrix.java }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-${{ matrix.java }}-gradle-
- name: Build with Gradle
- run: ./gradlew classes
- - name: Check with Gradle
- run: ./gradlew check codeCoverageReport
- - name: Cleanup Gradle Daemons
- run: ./gradlew --stop
- - name: Cleanup Gradle Cache
- run: |
- rm -f ~/.gradle/caches/modules-2/modules-2.lock
- rm -f ~/.gradle/caches/modules-2/gc.properties
- shell: bash
+ uses: gradle/gradle-build-action@v2
+ with:
+ arguments: build codeCoverageReport
+ # Only write to the cache for builds on the 'main' branch.
+ # Builds on other branches will only read existing entries from the cache.
+ cache-read-only: ${{ github.ref != 'refs/heads/main' }}
- name: Publish report
if: always()
uses: mikepenz/action-junit-report@v2
@@ -64,7 +51,7 @@ jobs:
./**/build/test-results/**/*
retention-days: 5
- name: Upload code coverage
- uses: codecov/codecov-action@v1
+ uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./build/reports/jacoco/report.xml
@@ -101,7 +88,7 @@ jobs:
report_paths: '**/junit-report.xml'
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload code coverage
- uses: codecov/codecov-action@v1
+ uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: opendc-web/opendc-web-api/coverage.xml
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c1f2864c..ce1d2a1b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -17,23 +17,14 @@ jobs:
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Set up JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v2
with:
+ distribution: 'zulu'
java-version: ${{ matrix.java }}
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- - uses: actions/cache@v2
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- key: ${{ runner.os }}-${{ matrix.java }}-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- restore-keys: |
- ${{ runner.os }}-${{ matrix.java }}-gradle-
- - name: Build with Gradle
- run: ./gradlew :assembleDist
- name: Publish with Gradle
- run: ./gradlew publish
+ uses: gradle/gradle-build-action@v2
+ with:
+ arguments: publish
env:
ORG_GRADLE_PROJECT_signingKeyId: F8134F9C
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }}
@@ -48,10 +39,3 @@ jobs:
files: build/distributions/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Cleanup Gradle Daemons
- run: ./gradlew --stop
- - name: Cleanup Gradle Cache
- run: |
- rm -f ~/.gradle/caches/modules-2/modules-2.lock
- rm -f ~/.gradle/caches/modules-2/gc.properties
- shell: bash
diff --git a/.github/workflows/test-gradle-rc.yml b/.github/workflows/test-gradle-rc.yml
new file mode 100644
index 00000000..c03c037a
--- /dev/null
+++ b/.github/workflows/test-gradle-rc.yml
@@ -0,0 +1,17 @@
+name: Test latest Gradle RC
+on:
+ schedule:
+ - cron: 0 0 * * 0 # weekly
+
+jobs:
+ gradle-rc:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ java-version: 17
+ - uses: gradle/gradle-build-action@v2
+ with:
+ gradle-version: release-candidate
+ arguments: build --dry-run # just test build configuration
diff --git a/.github/workflows/test-java-ea.yml b/.github/workflows/test-java-ea.yml
new file mode 100644
index 00000000..a21871b1
--- /dev/null
+++ b/.github/workflows/test-java-ea.yml
@@ -0,0 +1,18 @@
+name: Test Java EA release
+on:
+ schedule:
+ - cron: 0 0 * * 0 # weekly
+
+jobs:
+ java-ea:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'zulu'
+ java-version: 18-ea
+ - uses: gradle/gradle-build-action@v2
+ with:
+ gradle-version: release-candidate
+ arguments: build