Merge pull request #178 from croz-ltd/feature_genericConstraint #897
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
# Main Continuous Integration workflow | |
name: Build | |
on: | |
push: | |
branches: | |
- master | |
- feature_* | |
- bugfix_* | |
pull_request: | |
branches: | |
- master | |
- feature_* | |
- bugfix_* | |
jobs: | |
build: | |
strategy: | |
matrix: | |
java: ["17"] | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.os }} - JDK ${{ matrix.java }} | |
steps: | |
- name: Support long paths for Windows | |
if: ${{ matrix.os == 'windows-latest' }} | |
run: git config --system core.longpaths true | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Cache Gradle caches | |
uses: actions/cache@v2 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ matrix.java }}-${{ matrix.os }}-gradle-caches-${{ hashFiles('**/*.gradle') }} | |
restore-keys: | | |
${{ matrix.java }}-${{ matrix.os }}-gradle-caches- | |
- name: Cache Gradle wrapper | |
uses: actions/cache@v2 | |
with: | |
path: ~/.gradle/wrapper | |
key: ${{ matrix.java }}-${{ matrix.os }}-gradle-wrapper-${{ hashFiles('**/*.gradle') }} | |
restore-keys: | | |
${{ matrix.java }}-${{ matrix.os }}-gradle-wrapper- | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: zulu | |
java-version: ${{ matrix.java }} | |
- name: Build | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: clean build | |
- name: JaCoCo Coverage Report | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: jacocoTestReport testCodeCoverageReport | |
- name: Publish JaCoCo Coverage Report | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: codecov/codecov-action@v2 | |
with: | |
name: Aggregated JaCoCo Report | |
files: build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml | |
- name: Aggregate Javadoc | |
if: ${{ matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master' && github.event_name == 'push' }} | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: aggregateJavadoc | |
- name: Deploy Javadoc to GitHub Pages | |
if: ${{ matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master' && github.event_name == 'push' }} | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: build/docs/aggregateJavadoc | |
target-folder: docs | |
clean: true | |
single-commit: true |