Skip to content

initial commit

initial commit #1

Workflow file for this run

name: Build and Test
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master ]
jobs:
test:
name: Test on Java ${{ matrix.java-version }}
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [17, 21]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
- name: Run tests
run: ./gradlew test --no-daemon
- name: Generate test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Test Results (Java ${{ matrix.java-version }})
path: build/test-results/test/*.xml
reporter: java-junit
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-java-${{ matrix.java-version }}
path: |
build/reports/tests/
build/test-results/
build:
name: Build Application
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
- name: Build application
run: ./gradlew build --no-daemon
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
build/libs/*.jar
build/distributions/*
# Only run on master branch pushes
release:
name: Create Release
runs-on: ubuntu-latest
needs: [test, build]
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
- name: Build release
run: ./gradlew build --no-daemon
- name: Get version
id: version
run: echo "VERSION=$(date +'%Y.%m.%d')-${{ github.run_number }}" >> $GITHUB_OUTPUT
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.version.outputs.VERSION }}
release_name: Release v${{ steps.version.outputs.VERSION }}
body: |
Automated release from main branch
Changes in this release:
${{ github.event.head_commit.message }}
draft: false
prerelease: false