Skip to content

Refactor regression detection workflow. #432

Refactor regression detection workflow.

Refactor regression detection workflow. #432

Workflow file for this run

name: build
permissions: read-all
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- java: 11
upload_reports: true
- java: 17
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
submodules: recursive
- uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4 # v1.1.0
- name: Use java ${{ matrix.java }}
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
distribution: 'corretto'
java-version: ${{ matrix.java }}
- uses: gradle/gradle-build-action@b5126f31dbc19dd434c3269bf8c28c315e121da2 # v2.8.1
with:
arguments: build
- run: ./ion-test-driver-run version
- if: ${{ matrix.upload_reports }}
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: build/reports/jacoco/test/jacocoTestReport.xml
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: spotbugs-report
path: build/reports/spotbugs/
check-version:
# Ensures that the version is not a release (i.e. -SNAPSHOT) or if it is a release version,
# ensures that the version is a later version number than the existing releases.
# See limitations at:
# https://github.com/amazon-ion/ion-java/blob/master/.github/actions/inspect-version/action.yml
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v3.6.0
- name: Get Project Version
run: |
echo "PROJECT_VERSION=v$(<project.version)" >> $GITHUB_ENV
- uses: ./.github/actions/inspect-version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
repo: amazon-ion/ion-java
project_version: ${{ env.PROJECT_VERSION }}
fail_if_invalid: true