forked from Freezy-Studios/DaCliente
52 lines
No EOL
1.9 KiB
YAML
52 lines
No EOL
1.9 KiB
YAML
# 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 dacliente-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 |