| 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 |