Skip to content

Update to Java 21 & Replace deprecated getBuildDir #439

Update to Java 21 & Replace deprecated getBuildDir

Update to Java 21 & Replace deprecated getBuildDir #439

Workflow file for this run

name: Build and Test
on:
pull_request:
branches:
- dev
- beta
- "epic/**"
types: [opened, synchronize, reopened, ready_for_review]
jobs:
check:
name: "Check"
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
outputs:
testing_needed: ${{ steps.check.outputs.testing_needed }}
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
### Checks if there are any file changes that are not in the .github/ or doc/ directories
- name: "Check for changes outside CI and docs"
id: check
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
changed_files=$(gh pr diff --name-only ${{ github.event.pull_request.number }})
changesOutsideDocsCI=false
for file in $changed_files; do
if [[ $file != .github/* && $file != doc/* ]]; then
echo "file: $file is not part of CI or docs"
echo "Start testing pipeline."
changesOutsideDocsCI=true
break
else
echo "file: $file is part of CI or docs"
fi
done
if [[ $changesOutsideDocsCI == true ]]; then
echo "testing_needed=true" >> "$GITHUB_OUTPUT"
echo "Changes outside CI and docs detected. Start testing pipeline."
else
echo "testing_needed=false" >> "$GITHUB_OUTPUT"
echo "No need for the build and test pipeline to run. Exiting."
fi
test_2:
name: "Test 2"
timeout-minutes: 120
needs: check
runs-on: ubuntu-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: print testing_needed
run: echo ${{ needs.check.outputs.testing_needed }}
build:
name: "Build"
timeout-minutes: 10
needs: check
if: |
(github.event.pull_request.draft == false)
&& (needs.check.outputs.testing_needed == 'true')
runs-on: ubuntu-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: "Setup Java"
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
cache: 'gradle'
- name: Setup Gradle cache
uses: actions/cache@v3
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('versions.properties') }}-${{ github.sha }}
- name: "prepare libs for build"
run: ./prepare.sh
- name: "build backend"
run: ./gradlew --build-cache build -x test
- name: Upload build reports
uses: actions/upload-artifact@v3
if: ${{ failure() || contains(github.event.pull_request.labels.*.name, 'force reports') }}
with:
name: Build Reports
path: "**/build/reports"
test:
name: "Test"
timeout-minutes: 120
needs: build
if: |
(github.event.pull_request.draft == false)
&& (needs.check.outputs.testing_needed == 'true')
runs-on: ubuntu-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: "Setup Java"
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
cache: 'gradle'
- name: Setup Gradle cache
uses: actions/cache@v3
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('versions.properties') }}-${{ github.sha }}
- name: "prepare libs for tests"
run: ./prepare.sh
- name: "test backend"
run: ./gradlew --build-cache check
- name: Upload test reports
uses: actions/upload-artifact@v3
if: ${{ failure() || contains(github.event.pull_request.labels.*.name, 'force reports') }}
with:
name: Test Reports
path: "**/build/reports"