diff --git a/.forgejo/workflows/build-and-test.yml b/.forgejo/workflows/build-and-test.yml new file mode 100644 index 0000000..a238d26 --- /dev/null +++ b/.forgejo/workflows/build-and-test.yml @@ -0,0 +1,71 @@ +name: build-and-test + +on: + - pull_request + - push + +jobs: + build: + runs-on: docker + container: + image: git.staropensource.de/staropensource/actions-docker:java + steps: + - name: Checkout + uses: https://code.forgejo.org/actions/checkout@v4 + - name: Compile + run: ./gradlew --no-daemon jar javadocJar sourceJar + - name: Upload library JARs + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: jars-libraries + path: | + **/build/libs/*.jar + !**/build/libs/*-javadoc.jar + !**/build/libs/*-sources.jar + if-no-files-found: error + - name: Upload API documentation JARs + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: jars-apidocs + path: | + **/build/libs/*-javadoc.jar + if-no-files-found: error + - name: Upload source JARs + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: jars-sources + path: | + **/build/libs/*-sources.jar + if-no-files-found: error + generate-javadoc: + runs-on: docker + container: + image: git.staropensource.de/staropensource/actions-docker:java + steps: + - name: Checkout + uses: https://code.forgejo.org/actions/checkout@v4 + - name: Generate javadoc + run: ./gradlew --no-daemon javadoc javadocAll + - name: Upload separate javadoc + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: javadoc-separate + path: | + **/build/docs/javadoc/* + if-no-files-found: error + - name: Upload combined javadoc + uses: https://code.forgejo.org/forgejo/upload-artifact@v4 + with: + name: javadoc-combined + path: | + build/docs/javadoc/* + if-no-files-found: error + test: + runs-on: docker + container: + image: git.staropensource.de/staropensource/actions-docker:java + steps: + - name: Checkout + uses: https://code.forgejo.org/actions/checkout@v4 + - name: Run tests + run: ./gradlew --no-daemon test