Build with JDK5 and deploy from GitHub Actions #40
Workflow file for this run
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
name: CI | |
on: | |
- push | |
- pull_request | |
jobs: | |
Linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- jdk: 8 | |
- jdk: 11 | |
- jdk: 17 | |
- jdk: 21 | |
name: JDK ${{ matrix.jdk }} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 | |
with: | |
distribution: 'zulu' | |
java-version: | | |
${{ matrix.jdk }} | |
17 | |
- name: 'Generate toolchains.xml' | |
env: | |
JDK_VERSION: ${{ matrix.jdk }} | |
JDK_HOME_VARIABLE_NAME: JAVA_HOME_${{ matrix.jdk }}_X64 | |
run: | | |
echo " | |
<toolchains> | |
<toolchain> | |
<type>jdk</type> | |
<provides> | |
<id>$JDK_VERSION</id> | |
<version>$JDK_VERSION</version> | |
</provides> | |
<configuration> | |
<jdkHome>${!JDK_HOME_VARIABLE_NAME}</jdkHome> | |
</configuration> | |
</toolchain> | |
</toolchains> | |
" > toolchains.xml | |
- name: 'Build' | |
run: | | |
mvn -V -B -e --no-transfer-progress \ | |
verify -Djdk.version=${{ matrix.jdk }} -Dbytecode.version=${{ matrix.jdk }} \ | |
--toolchains=toolchains.xml | |
JDK5: | |
name: JDK 5 | |
runs-on: ubuntu-20.04 | |
# TODO repository and ref | |
environment: ${{ (github.repository == 'jacoco/jacoco' && github.ref == 'refs/heads/master') && 'snapshot' || null }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- uses: Godin/github-action-setup-java@main | |
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 | |
with: | |
distribution: 'zulu' | |
java-version: | | |
17 | |
server-id: sonatype-nexus-snapshots | |
server-username: SONATYPE_USERNAME | |
server-password: SONATYPE_PASSWORD | |
- name: 'Generate toolchains.xml' | |
env: | |
JDK_VERSION: 5 | |
JDK_HOME_VARIABLE_NAME: JAVA_HOME_5_X64 | |
run: | | |
echo " | |
<toolchains> | |
<toolchain> | |
<type>jdk</type> | |
<provides> | |
<id>$JDK_VERSION</id> | |
<version>$JDK_VERSION</version> | |
</provides> | |
<configuration> | |
<jdkHome>${!JDK_HOME_VARIABLE_NAME}</jdkHome> | |
</configuration> | |
</toolchain> | |
</toolchains> | |
" > toolchains.xml | |
- name: 'Build' | |
env: | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} | |
run: | | |
if [[ "$GITHUB_REPOSITORY" == "jacoco/jacoco" && "$GITHUB_REF" == "refs/heads/master" ]]; then | |
mvn -V -B -e --no-transfer-progress \ | |
verify -Djdk.version=5 -Dbytecode.version=5 \ | |
-f org.jacoco.build \ | |
deploy:deploy -DdeployAtEnd \ | |
sonar:sonar -Dsonar.organization=default -Dsonar.host.url=https://sonarcloud.io \ | |
--toolchains=toolchains.xml | |
else | |
mvn -V -B -e --no-transfer-progress \ | |
verify -Djdk.version=5 -Dbytecode.version=5 \ | |
--toolchains=toolchains.xml | |
fi | |
- name: 'Trigger deployments of sites' | |
if: ${{ (github.repository == 'jacoco/jacoco' && github.ref == 'refs/heads/master') }} | |
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 | |
with: | |
github-token: ${{ secrets.GH_TOKEN }} | |
script: | | |
github.rest.repos.createDispatchEvent({ | |
owner: 'jacoco', | |
repo: 'www.eclemma.org', | |
event_type: "JaCoCo build", | |
}) | |
Windows: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 | |
with: | |
distribution: 'zulu' | |
java-version: | | |
6 | |
17 | |
- name: 'Generate toolchains.xml' | |
env: | |
JDK_VERSION: 6 | |
JDK_HOME_VARIABLE_NAME: JAVA_HOME_6_X64 | |
shell: bash | |
run: | | |
echo " | |
<toolchains> | |
<toolchain> | |
<type>jdk</type> | |
<provides> | |
<id>$JDK_VERSION</id> | |
<version>$JDK_VERSION</version> | |
</provides> | |
<configuration> | |
<jdkHome>${!JDK_HOME_VARIABLE_NAME}</jdkHome> | |
</configuration> | |
</toolchain> | |
</toolchains> | |
" > toolchains.xml | |
- name: 'Build' | |
shell: bash | |
run: | | |
mvn -V -B -e --no-transfer-progress \ | |
verify -Djdk.version=6 -Dbytecode.version=5 \ | |
--toolchains=toolchains.xml | |
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | |
id: artifact-upload-step | |
with: | |
name: jacoco | |
path: jacoco/target/*.zip | |
if-no-files-found: error |