build: update junit5 monorepo {5.11.2 => 5.11.3} #237
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
- pull_request | |
- push | |
- workflow_dispatch | |
env: | |
JDK_VERSION: "22" | |
WORKSPACE_ARCHIVE: workspace.tar | |
WORKSPACE_ARTIFACT: build-results | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
os: [ macos-latest, ubuntu-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: ${{ env.JDK_VERSION }} | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Gradle Assemble | |
run: ./gradlew assemble --info -S --show-version | |
- name: Tar files | |
run: tar --exclude='.git' --exclude=${{ env.WORKSPACE_ARCHIVE }} -cvf ${{ env.WORKSPACE_ARCHIVE }} . | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.os }}-${{ env.WORKSPACE_ARTIFACT }} | |
path: ${{ env.WORKSPACE_ARCHIVE }} | |
retention-days: 1 | |
build-docs: | |
name: Build Documentation | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/download-artifact@v4 | |
with: | |
name: ubuntu-latest-${{ env.WORKSPACE_ARTIFACT }} | |
path: . | |
- name: Untar | |
run: | | |
tar -xvf ${{ env.WORKSPACE_ARCHIVE }} | |
rm ${{ env.WORKSPACE_ARCHIVE }} | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: ${{ env.JDK_VERSION }} | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Dokka Generate | |
run: ./gradlew :dokkatooGenerate --info -S --show-version | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
- name: Install dependencies | |
run: pip3 install --no-deps -r .github/workflows/mkdocs-requirements.txt | |
- name: MkDocs Build | |
run: mkdocs build | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./build/site | |
retention-days: 3 | |
check: | |
name: Check | |
strategy: | |
matrix: | |
os: [ macos-latest, ubuntu-latest, windows-latest ] | |
needs: build | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/download-artifact@v4 | |
with: | |
# https://github.com/actions/runner/issues/409#issuecomment-752775072 | |
name: ${{ matrix.os == 'windows-latest' && 'ubuntu-latest' || matrix.os }}-${{ env.WORKSPACE_ARTIFACT }} | |
path: . | |
- name: Untar | |
run: | | |
tar -xvf ${{ env.WORKSPACE_ARCHIVE }} | |
rm ${{ env.WORKSPACE_ARCHIVE }} | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: ${{ env.JDK_VERSION }} | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Gradle Check | |
run: ./gradlew check --info -S --show-version | |
# So, what's happening here? | |
# | |
# Basically, restoring the workspace state between jobs is incredibly annoying. | |
# We can get reasonable support by using the upload-/download-artifact | |
# actions, but they suffer from a severe limitation: | |
# GH Actions has a storage limit and the minimum retention is 24 hours... | |
# | |
# Since the storage quota is limited, we have to make sure that the artifact | |
# is removed. Unfortunately, there is no official way to do this, so we resort | |
# to a third party action for now. | |
# | |
# See also: https://github.com/actions/upload-artifact/issues/290 | |
cleanup: | |
name: Cleanup | |
if: ${{ always() }} | |
needs: [build-docs, check] | |
runs-on: ubuntu-latest | |
permissions: | |
actions: write | |
steps: | |
- name: Cleanup | |
uses: GeekyEggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b | |
with: | |
name: macos-latest-${{ env.WORKSPACE_ARTIFACT }} | |
- name: Cleanup | |
uses: GeekyEggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b | |
with: | |
name: ubuntu-latest-${{ env.WORKSPACE_ARTIFACT }} |