# Automatically build the project and run any configured tests for every push # and submitted pull request. This can help catch issues that only occur on # certain platforms or Java versions, and provides a first line of defence # against bad commits. name: build on: [pull_request, push] jobs: build: runs-on: ubuntu-latest steps: - name: checkout repository uses: https://git.eplg.services/actions/checkout@v4 - name: setup jdk uses: https://git.eplg.services/actions/setup-java@v4 with: java-version: '21' distribution: 'microsoft' - name: imfall run: apt update && apt install tree -y - name: make gradle wrapper executable run: chmod +x ./gradlew - name: build run: ./gradlew build - name: Generate release tag if: github.ref == 'refs/heads/master' id: tag run: | echo "RELEASE_TAG=build-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV - name: Create artifact archive if: github.ref == 'refs/heads/master' run: | tree mkdir -p release-files cd build/libs/ find . -name "*.jar" -o -name "*.war" -o -name "*.zip" | xargs -I{} cp {} ../../release-files/ cd ../../ echo "Build completed on $(date)" > release-files/build-info.txt echo "Git commit: ${{ github.sha }}" >> release-files/build-info.txt tar -czvf dacliente-build.tar.gz -C release-files . mkdir -p release mv coreprotect-build.tar.gz release/ - name: Publish to Forgejo Releases if: github.ref == 'refs/heads/master' uses: https://git.eplg.services/actions/forgejo-release@v2.6.0 with: direction: upload tag: ${{ env.RELEASE_TAG }} release-dir: release release-notes: "Automated build from master branch" override: true