Skip to content

Build

Build #2678

Workflow file for this run

# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Build
# https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
push:
branches: [ master, development ]
pull_request:
branches: [ master, development ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout badges branch dedicated to storing badges only
uses: actions/checkout@v4
with:
ref: badges
path: badges
- name: Set up the Java JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
cache: maven
- name: Set DAT3M_HOME
run: echo "DAT3M_HOME=$(echo $GITHUB_WORKSPACE)" >> $GITHUB_ENV
- name: Set DAT3M_OUTPUT
run: echo "DAT3M_OUTPUT=$(echo $DAT3M_HOME)/output" >> $GITHUB_ENV
- name: Build with Maven
run: mvn --batch-mode --update-snapshots install
- name: Build the Docker image
run: docker build . --file Dockerfile
- name: Generate JaCoCo Badge
id: jacoco
uses: cicirello/jacoco-badge-generator@v2
with:
badges-directory: badges
coverage-badge-filename: coverage.svg
generate-branches-badge: true
branches-badge-filename: branches.svg
jacoco-csv-file: dartagnan/target/site/jacoco/jacoco.csv
- name: Log coverage percentage
run: |
echo "coverage = ${{ steps.jacoco.outputs.coverage }}"
echo "branch coverage = ${{ steps.jacoco.outputs.branches }}"
- name: Commit the badges (if changed)
if: ${{ github.event_name != 'pull_request' }}
run: |
cd badges
if [[ `git status --porcelain *.svg` ]]; then
git config --global user.name 'Hernan Ponce de Leon'
git config --global user.email '[email protected]'
git add *.svg
git commit -m "Autogenerated JaCoCo coverage badge" *.svg
git push
fi