Skip to content

fixed workflow

fixed workflow #12

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Gradle Build and Release
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
release:
types: [ created ]
jobs:
build-linux:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
checks: write
# only needed unless run with comment_mode: off
pull-requests: write
steps:
- name: Check out source code
uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'zulu'
cache: 'gradle'
cache-dependency-path: | # optional
*.gradle*
**/gradle-wrapper.properties
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Make zlint executable
run: chmod +x ./src/test/resources/zlint/zlint
- name: Gradle Build started
run: ./gradlew clean build --no-daemon
- name: Store reports
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-reports-linux
path: |
**/build/reports/
**/build/test-results/
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: "Junit Linux Test Report"
files: |
**/test-results/**/*.xml
**/test-results/**/*.trx
**/test-results/**/*.json
build-win:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
checks: write
# only needed unless run with comment_mode: off
pull-requests: write
steps:
- name: Check out source code
uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'zulu'
cache: 'gradle'
cache-dependency-path: | # optional
*.gradle*
**/gradle-wrapper.properties
- name: Gradle Build started
run: ./gradlew clean build --no-daemon
- name: Store reports
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-reports-window
path: |
**/build/reports/
**/build/test-results/
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: "Junit Windows Test Report"
files: |
**/test-results/**/*.xml
**/test-results/**/*.trx
**/test-results/**/*.json
release:
name: "Release"
needs: [ build-linux, build-win ]
runs-on: windows-latest
permissions:
contents: write
packages: write
if: success()
steps:
# upload to release to tag
- name: Update Release to Github Releses
uses: softprops/action-gh-release@v2
# only if this is exectued on tag/release
if: startsWith(github.ref, 'refs/tags/')
with:
files: build/libs/*.jar
env:
USERNAME: ${{ github.actor }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}