Migrate to Jackson 3 as jackson-dataformat-msgpack for 1.0.0; add jackson2-dataformat-msgpack #771
This file contains hidden or 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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| code: ${{ steps.changes.outputs.code }} | |
| docs: ${{ steps.changes.outputs.docs }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - uses: dorny/paths-filter@v4 | |
| id: changes | |
| with: | |
| filters: | | |
| code: | |
| - '**.scala' | |
| - '**.java' | |
| - '**.sbt' | |
| - '.github/workflows/**.yml' | |
| - 'project/build.properties' | |
| - 'msgpack-core/**' | |
| - 'msgpack-jackson/**' | |
| - 'msgpack-jackson2/**' | |
| docs: | |
| - '**.md' | |
| - '**.txt' | |
| - 'LICENSE' | |
| code_format: | |
| name: Code Format | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| if: ${{ needs.changes.outputs.code == 'true' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # sbt 2 requires JDK 17+ to run | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '21' | |
| - name: jcheckstyle | |
| run: ./sbt jcheckStyle | |
| - name: scalafmtCheckAll | |
| run: ./sbt scalafmtCheckAll | |
| test: | |
| name: Test JDK${{ matrix.java }} | |
| runs-on: ubuntu-latest | |
| needs: changes | |
| if: ${{ needs.changes.outputs.code == 'true' }} | |
| strategy: | |
| matrix: | |
| java: ['8', '11', '17', '21', '24'] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # The JDK under test: msgpack-core forks its tests onto this JDK (via | |
| # TEST_JAVA_HOME) so we still verify runtime behavior on each target JDK. | |
| - uses: actions/setup-java@v5 | |
| id: target-jdk | |
| with: | |
| distribution: 'zulu' | |
| java-version: ${{ matrix.java }} | |
| # sbt 2 itself requires JDK 17+ to run, so install a fixed, newer JDK to | |
| # actually launch sbt. This becomes the default JDK on PATH/JAVA_HOME. | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '21' | |
| - uses: actions/cache@v6 | |
| with: | |
| path: ~/.cache | |
| key: ${{ runner.os }}-jdk${{ matrix.java }}-${{ hashFiles('**/*.sbt') }} | |
| restore-keys: ${{ runner.os }}-jdk${{ matrix.java }}- | |
| - name: Test | |
| env: | |
| TEST_JAVA_HOME: ${{ steps.target-jdk.outputs.path }} | |
| run: | | |
| # msgpack-jackson (Jackson 3) requires JDK 17+; older lanes test the | |
| # Java 8 compatible modules only | |
| if [[ ${{ matrix.java }} -lt 17 ]]; then | |
| ./sbt msgpack-core/test msgpack-jackson2/test | |
| else | |
| ./sbt test | |
| fi | |
| - name: Universal Buffer Test | |
| env: | |
| TEST_JAVA_HOME: ${{ steps.target-jdk.outputs.path }} | |
| run: | | |
| if [[ ${{ matrix.java }} -lt 17 ]]; then | |
| ./sbt msgpack-core/test msgpack-jackson2/test -J-Dmsgpack.universal-buffer=true | |
| else | |
| ./sbt test -J-Dmsgpack.universal-buffer=true | |
| fi |