Skip to content

vereng

vereng #733

Workflow file for this run

---
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Yarn Audit client
run: yarn audit --level high --groups dependencies
working-directory: client
- name: Yarn Audit welcome
run: yarn audit --level high --groups dependencies
working-directory: welcome
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'adopt'
cache: 'maven'
- name: Set up MySQL
uses: shogo82148/actions-setup-mysql@v1
with:
distribution: "mariadb"
mysql-version: "10.6"
- run: |
mysql -uroot -h127.0.0.1 -e \
"CREATE DATABASE invite CHARACTER SET utf8mb4 \
COLLATE utf8mb4_unicode_520_ci;"
- run: |
mysql -uroot -h127.0.0.1 -e \
"CREATE USER 'invite'@'localhost' IDENTIFIED BY 'secret';";
- run: |
mysql -uroot -h127.0.0.1 -e \
"GRANT ALL privileges ON invite.* TO 'invite'@'localhost';"
- name: Build with Maven
run: mvn clean install --file pom.xml
- name: Generate JaCoCo Badge
uses: cicirello/jacoco-badge-generator@v2
with:
generate-branches-badge: true
jacoco-csv-file: "**/jacoco.csv"
- name: Log coverage percentage
run: |
echo "coverage = ${{ steps.jacoco.outputs.coverage }}"
echo "branch coverage = ${{ steps.jacoco.outputs.branches }}"
- name: Commit the badge (if it changed)
run: |
if [[ `git status --porcelain` ]]; then
git config --global user.name 'Okke Harsta'
git config --global user.email '[email protected]'
git add -A
git commit -m "Autogenerated JaCoCo coverage badge"
git pull -r
git push
fi