blob: bed703c71cab6ca21197c24c0fe794bce42785eb [file] [log] [blame]
name: CI
on:
push:
branches:
- main
- 'releases/*'
pull_request:
branches:
- '*'
env:
ORG_GRADLE_PROJECT_enableTestDistribution: true
ORG_GRADLE_PROJECT_junitBuildCacheUsername: ${{ secrets.BUILD_CACHE_USERNAME }}
ORG_GRADLE_PROJECT_junitBuildCachePassword: ${{ secrets.BUILD_CACHE_PASSWORD }}
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
jobs:
Linux:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Build
uses: ./.github/actions/main-build
with:
arguments: |
-PenableJaCoCo
build
jacocoRootReport
prepareDocsForUploadToGhPages
- name: Upload to Codecov.io
uses: codecov/codecov-action@v2
Windows:
runs-on: windows-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Build
uses: ./.github/actions/main-build
macOS:
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Build
uses: ./.github/actions/main-build
publish_artifacts:
name: Publish Snapshot Artifacts
needs: linux
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.repository == 'junit-team/junit5' && (startsWith(github.ref, 'refs/heads/releases/') || github.ref == 'refs/heads/main')
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Publish
uses: ./.github/actions/run-gradle
env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
with:
arguments: publish -x check
update_documentation:
name: Update Snapshot Documentation
needs: linux
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.repository == 'junit-team/junit5' && github.ref == 'refs/heads/main'
steps:
- name: Check out repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install Graphviz
run: |
sudo apt-get update
sudo apt-get install graphviz
- name: Restore Gradle cache and display toolchains
uses: ./.github/actions/run-gradle
with:
arguments: --quiet
- name: Upload Documentation
env:
GRGIT_USER: ${{ secrets.GH_TOKEN }}
run: ./src/publishDocumentationSnapshotOnlyIfNecessary.sh