Feature/127 integrate docs into main repo & changed to docusaurus #420
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
worth_testing: ${{ steps.check.outputs.worth_testing }} | |
steps: | |
- name: "Checkout Branch" | |
uses: actions/checkout@v3 | |
- name: "Check for changes worth testing" | |
id: check | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
changed_files=$(gh pr diff --name-only ${{ github.event.pull_request.number }}) #todo: Maybe change to git diff to avoid 300 diff limit? | |
test=false | |
for file in $changed_files; do | |
if [[ $file == ".github/"* || $file == "doc/"* ]]; then | |
echo "$test file: $file" | |
else | |
test=true | |
echo "$test file: $file" | |
break | |
fi | |
done | |
if [[ $test == true ]]; then | |
echo "worth_testing=true" >> "$GITHUB_OUTPUT" | |
else | |
echo "worth_testing=false" >> "$GITHUB_OUTPUT" | |
fi | |
build: | |
name: "Build" | |
timeout-minutes: 10 | |
needs: check | |
if: | | |
(github.event.pull_request.draft == false) | |
&& (needs.check.outputs.worth_testing == true) | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout Branch" | |
uses: actions/checkout@v3 | |
- name: "Setup Java" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
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.worth_testing == true) | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout Branch" | |
uses: actions/checkout@v3 | |
- name: "Setup Java" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
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" | |