Skip to content

Build with JDK5 and deploy from GitHub Actions #113

Build with JDK5 and deploy from GitHub Actions

Build with JDK5 and deploy from GitHub Actions #113

Workflow file for this run

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@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
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/setup-java@main
with:
version: 5
- 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@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
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