Regen master kaitai-io/kaitai_struct@c276ba51fe7dcef4a16ff8ed24d68a82… #365
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: | |
| push: | |
| branches: | |
| - master | |
| pull_request: {} | |
| permissions: | |
| contents: read | |
| jobs: | |
| windows: | |
| runs-on: windows-latest | |
| # NB: see https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md for what's available in this image | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| tsv: | |
| # - target: cpp_stl | |
| # subtarget: _98 | |
| # implementation: msvc142 | |
| # - target: cpp_stl | |
| # subtarget: _11 | |
| # implementation: msvc142 | |
| - target: csharp | |
| implementation: net48 | |
| env: | |
| TARGET: ${{matrix.tsv.target}} | |
| SUBTARGET: ${{matrix.tsv.subtarget}} | |
| IMPL: ${{matrix.tsv.implementation}} | |
| steps: | |
| - name: Dump matrix context | |
| env: | |
| MATRIX_CONTEXT: ${{ toJson(matrix) }} | |
| run: echo "$MATRIX_CONTEXT" | |
| - uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: false | |
| submodules: 'true' | |
| - name: install rsync | |
| run: choco install rsync --no-progress | |
| - name: check rsync version | |
| run: rsync --version | |
| - uses: microsoft/setup-msbuild@v2 | |
| - name: prepare | |
| run: | | |
| git clone --depth 1 https://github.com/kaitai-io/kaitai_struct_tests tests | |
| git -C tests rev-parse HEAD | |
| cp -r compiled tests/compiled | |
| ./prepare-$TARGET | |
| shell: bash | |
| - name: run | |
| env: | |
| GH_JOB_ID: ${{ job.check_run_id }} | |
| GH_HTML_URL: ${{ format('{0}/{1}/actions/runs/{2}/job/{3}', github.server_url, github.repository, github.run_id, job.check_run_id) }} | |
| working-directory: tests | |
| run: ./ci-$TARGET$SUBTARGET | |
| shell: bash | |
| - name: publish | |
| env: | |
| BOT_SSH_KEY: ${{secrets.BOT_SSH_KEY}} | |
| run: | | |
| ./push_artifacts/git_config_kaitai_bot | |
| ./push_artifacts/publish \ | |
| -o kaitai-io \ | |
| -r ci_artifacts \ | |
| -m "Build results of ${GITHUB_REF#refs/heads/*} kaitai-io/ci_targets@$GITHUB_SHA" \ | |
| -b "${TARGET}${SUBTARGET}"/"$IMPL-windows-x64" \ | |
| -- --exclude=.git --exclude=.travis.yml tests/test_out | |
| shell: bash | |
| macos: | |
| runs-on: macos-15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| tsv: | |
| - target: cpp_stl | |
| subtarget: _98 | |
| implementation: clang17 | |
| - target: cpp_stl | |
| subtarget: _11 | |
| implementation: clang17 | |
| env: | |
| TARGET: ${{matrix.tsv.target}} | |
| SUBTARGET: ${{matrix.tsv.subtarget}} | |
| IMPL: ${{matrix.tsv.implementation}} | |
| steps: | |
| - name: Dump matrix context | |
| env: | |
| MATRIX_CONTEXT: ${{ toJson(matrix) }} | |
| run: echo "$MATRIX_CONTEXT" | |
| - name: Validate Clang version | |
| run: | | |
| ver=$(c++ --version) | |
| echo 'Clang version:' | |
| echo '---' | |
| echo "$ver" | |
| echo '---' | |
| echo "$ver" | grep -q 'clang version 17\.' | |
| - uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: false | |
| submodules: 'true' | |
| - name: prepare | |
| run: | | |
| git clone --depth 1 https://github.com/kaitai-io/kaitai_struct_tests tests | |
| git -C tests rev-parse HEAD | |
| ln -s ../compiled tests/compiled | |
| ./prepare-$TARGET | |
| - name: run | |
| env: | |
| GH_JOB_ID: ${{ job.check_run_id }} | |
| GH_HTML_URL: ${{ format('{0}/{1}/actions/runs/{2}/job/{3}', github.server_url, github.repository, github.run_id, job.check_run_id) }} | |
| working-directory: tests | |
| run: ./ci-$TARGET$SUBTARGET | |
| - name: compare | |
| working-directory: tests | |
| run: | | |
| echo '# Comparison with previous' | |
| echo | |
| PREV_REPORT= | |
| if ./report-download-github "$TARGET" "$SUBTARGET" "$IMPL" macos x86_64; then | |
| PREV_REPORT="ci_results/$TARGET$SUBTARGET/$IMPL-macos-x86_64/ci.json" | |
| fi | |
| aggregate/compare_with_prev \ | |
| "$PREV_REPORT" \ | |
| "test_out/$TARGET$SUBTARGET/ci.json" | |
| - name: publish | |
| env: | |
| BOT_SSH_KEY: ${{secrets.BOT_SSH_KEY}} | |
| run: | | |
| ./push_artifacts/git_config_kaitai_bot | |
| ./push_artifacts/publish \ | |
| -o kaitai-io \ | |
| -r ci_artifacts \ | |
| -m "Build results of ${GITHUB_REF#refs/heads/*} kaitai-io/ci_targets@$GITHUB_SHA" \ | |
| -b "${TARGET}${SUBTARGET}"/"$IMPL-macos-x86_64" \ | |
| -- --exclude=.git --exclude=.travis.yml tests/test_out | |
| docker: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| tsv: | |
| - target: construct | |
| implementation: python3.6 | |
| - target: construct | |
| implementation: python3.14 | |
| - target: cpp_stl | |
| subtarget: _98 | |
| implementation: clang3.4 | |
| - target: cpp_stl | |
| subtarget: _11 | |
| implementation: clang3.4 | |
| - target: cpp_stl | |
| subtarget: _98 | |
| implementation: clang18 | |
| - target: cpp_stl | |
| subtarget: _11 | |
| implementation: clang18 | |
| - target: cpp_stl | |
| subtarget: _98 | |
| implementation: gcc4.8 | |
| - target: cpp_stl | |
| subtarget: _11 | |
| implementation: gcc4.8 | |
| - target: cpp_stl | |
| subtarget: _98 | |
| implementation: gcc13 | |
| - target: cpp_stl | |
| subtarget: _11 | |
| implementation: gcc13 | |
| - target: csharp | |
| implementation: net8.0 | |
| - target: csharp | |
| implementation: net10.0 | |
| - target: go | |
| implementation: '1.25' | |
| - target: graphviz | |
| implementation: '12' | |
| - target: java | |
| implementation: temurin8 | |
| - target: java | |
| implementation: temurin11 | |
| - target: java | |
| implementation: temurin17 | |
| - target: java | |
| implementation: temurin21 | |
| - target: java | |
| implementation: temurin25 | |
| - target: javascript | |
| implementation: nodejs12 | |
| - target: javascript | |
| implementation: nodejs18 | |
| - target: javascript | |
| implementation: nodejs24 | |
| # - target: julia | |
| # implementation: '1.9' | |
| - target: lua | |
| implementation: '5.3' | |
| - target: lua | |
| implementation: '5.4' | |
| - target: nim | |
| implementation: '1.6.20' | |
| - target: nim | |
| implementation: '2.2.6' | |
| - target: perl | |
| implementation: '5.30' | |
| - target: perl | |
| implementation: '5.42' | |
| - target: php | |
| implementation: '7.1' | |
| - target: php | |
| implementation: '8.4' | |
| - target: python | |
| implementation: '2.7' | |
| - target: python | |
| implementation: '3.4' | |
| - target: python | |
| implementation: '3.14' | |
| - target: ruby | |
| implementation: '1.9' | |
| - target: ruby | |
| implementation: '2.3' | |
| - target: ruby | |
| implementation: '3.4' | |
| - target: rust | |
| implementation: '1.91' | |
| - target: zig | |
| implementation: '0.15.2' | |
| env: | |
| TARGET: ${{matrix.tsv.target}} | |
| SUBTARGET: ${{matrix.tsv.subtarget}} | |
| IMPL: ${{matrix.tsv.implementation}} | |
| steps: | |
| - name: Dump matrix context | |
| env: | |
| MATRIX_CONTEXT: ${{ toJson(matrix) }} | |
| run: echo "$MATRIX_CONTEXT" | |
| - uses: actions/checkout@v5 | |
| with: | |
| persist-credentials: false | |
| submodules: 'true' | |
| - name: docker pull | |
| run: | | |
| docker pull ghcr.io/kaitai-io/kaitai-"$TARGET"-"$IMPL"-linux-x86_64 | |
| - name: download tests | |
| run: | | |
| git clone --depth 1 https://github.com/kaitai-io/kaitai_struct_tests tests | |
| git -C tests rev-parse HEAD | |
| cp -r compiled tests/compiled | |
| - name: download runtime | |
| run: | | |
| mkdir -p runtime | |
| git clone --depth 1 --recurse-submodules https://github.com/kaitai-io/kaitai_struct_${TARGET}_runtime runtime/$TARGET | |
| git -C runtime/$TARGET rev-parse HEAD | |
| if: matrix.tsv.target != 'construct' && matrix.tsv.target != 'graphviz' | |
| - name: run | |
| env: | |
| GH_JOB_ID: ${{ job.check_run_id }} | |
| GH_HTML_URL: ${{ format('{0}/{1}/actions/runs/{2}/job/{3}', github.server_url, github.repository, github.run_id, job.check_run_id) }} | |
| working-directory: tests | |
| run: ./docker-ci -t "$TARGET" -u "$SUBTARGET" -i "$IMPL" | |
| # - name: publish as artifact | |
| # uses: actions/upload-artifact@v3 | |
| # with: | |
| # name: test-${{matrix.tsv.target}}${{matrix.tsv.subtarget}}-${{matrix.tsv.implementation}} | |
| # path: tests/test_out | |
| - name: publish | |
| env: | |
| BOT_SSH_KEY: ${{secrets.BOT_SSH_KEY}} | |
| run: | | |
| ./push_artifacts/git_config_kaitai_bot | |
| ./push_artifacts/publish \ | |
| -o kaitai-io \ | |
| -r ci_artifacts \ | |
| -m "Build results of ${GITHUB_REF#refs/heads/*} kaitai-io/ci_targets@$GITHUB_SHA" \ | |
| -b "${TARGET}${SUBTARGET}"/"$IMPL-linux-x86_64" \ | |
| -- --exclude=.git --exclude=.travis.yml tests/test_out |