Skip to content

build: update junit5 monorepo {5.11.2 => 5.11.3} #238

build: update junit5 monorepo {5.11.2 => 5.11.3}

build: update junit5 monorepo {5.11.2 => 5.11.3} #238

Workflow file for this run

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 }}