Skip to content

Regen master kaitai-io/kaitai_struct@c276ba51fe7dcef4a16ff8ed24d68a82… #365

Regen master kaitai-io/kaitai_struct@c276ba51fe7dcef4a16ff8ed24d68a82…

Regen master kaitai-io/kaitai_struct@c276ba51fe7dcef4a16ff8ed24d68a82… #365

Workflow file for this run

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