bfd: fix partial write handling in bwritev() #298
Workflow file for this run
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, pull_request] | |
| # Cancel any preceding run on the pull request. | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/criu-dev' }} | |
| jobs: | |
| alpine-test: | |
| name: Alpine Test | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04] | |
| target: [GCC=1, CLANG=1] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Alpine ${{ matrix.target }} Test | |
| run: sudo -E make -C scripts/ci alpine ${{ matrix.target }} | |
| alpine-test-arm64: | |
| name: Alpine Test ARM64 | |
| needs: [alpine-test] | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04-arm] | |
| target: [GCC=1, CLANG=1] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Alpine ${{ matrix.target }} Test | |
| run: sudo -E make -C scripts/ci alpine ${{ matrix.target }} | |
| aarch64-test: | |
| needs: [alpine-test] | |
| strategy: | |
| matrix: | |
| os: [ubuntu-24.04-arm, ubuntu-22.04-arm] | |
| target: [GCC=1, CLANG=1] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Tests ${{ matrix.target }} on ${{ matrix.os }} | |
| run: | | |
| # The 'sched_policy00' needs the following: | |
| sudo sysctl -w kernel.sched_rt_runtime_us=-1 | |
| # etc/hosts entry is needed for netns_lock_iptables | |
| echo "127.0.0.1 localhost" | sudo tee -a /etc/hosts | |
| sudo -E make -C scripts/ci local ${{ matrix.target }} RUN_TESTS=1 \ | |
| ZDTM_OPTS="-x zdtm/static/change_mnt_context -x zdtm/static/maps05" | |
| archlinux-test: | |
| needs: [alpine-test] | |
| # archlinux:latest + pacman -Syu is a rolling-release build; failures | |
| # caused by upstream package churn are outside CRIU's control. | |
| continue-on-error: true | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Arch Linux Test | |
| run: sudo -E make -C scripts/ci archlinux | |
| compat-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| target: [GCC, CLANG] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Compat Tests (${{ matrix.target }}) | |
| run: sudo -E make -C scripts/ci local COMPAT_TEST=y ${{ matrix.target }}=1 | |
| cross-compile: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| experimental: [false] | |
| target: [ | |
| armv7-stable-cross, | |
| aarch64-stable-cross, | |
| ppc64-stable-cross, | |
| riscv64-stable-cross, | |
| ] | |
| include: | |
| - experimental: true | |
| target: armv7-unstable-cross | |
| - experimental: true | |
| target: aarch64-unstable-cross | |
| - experimental: true | |
| target: ppc64-unstable-cross | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Cross Compilation Targets | |
| run: > | |
| sudo make -C scripts/ci ${{ matrix.target }} | |
| docker-test: | |
| needs: [alpine-test] | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Docker Test (${{ matrix.os }}) | |
| run: sudo make -C scripts/ci docker-test | |
| fedora-asan-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Fedora ASAN Test | |
| run: sudo -E make -C scripts/ci fedora-asan | |
| fedora-rawhide-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Fedora Rawhide Test | |
| # We need to pass environment variables from the CI environment to | |
| # distinguish between CI environments. However, we need to make sure that | |
| # XDG_RUNTIME_DIR environment variable is not set due to a bug in Podman. | |
| # FIXME: https://github.com/containers/podman/issues/14920 | |
| run: sudo -E XDG_RUNTIME_DIR= make -C scripts/ci fedora-rawhide CONTAINER_RUNTIME=podman BUILD_OPTIONS="--security-opt seccomp=unconfined" | |
| gcov-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Coverage Tests | |
| run: sudo -E make -C scripts/ci local GCOV=1 | |
| - name: Run gcov | |
| run: sudo -E find . -name '*gcda' -type f -print0 | sudo -E xargs --null --max-args 128 gcov | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| java-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Java Test | |
| run: sudo make -C scripts/ci java-test | |
| loongarch64-qemu-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: sudo make -C scripts/ci loongarch64-qemu-test | |
| nftables-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Remove iptables | |
| run: sudo apt remove -y iptables | |
| - name: Install libnftables-dev | |
| run: sudo contrib/apt-install libnftables-dev | |
| - name: chmod 755 /home/runner | |
| # CRIU's tests are sometimes running as some random user and need | |
| # to be able to access the test files. | |
| run: sudo chmod 755 /home/runner | |
| - name: Build with nftables network locking backend | |
| run: sudo make -C scripts/ci local COMPILE_FLAGS="NETWORK_LOCK_DEFAULT=NETWORK_LOCK_NFTABLES" | |
| podman-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run Podman Test | |
| run: sudo make -C scripts/ci podman-test | |
| stream-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run CRIU Image Streamer Test | |
| run: sudo -E make -C scripts/ci local STREAM_TEST=1 | |
| x86-64-clang-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run X86_64 CLANG Test | |
| run: sudo make -C scripts/ci x86_64 CLANG=1 | |
| x86-64-gcc-test: | |
| needs: [alpine-test] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run X86_64 GCC Test | |
| run: sudo make -C scripts/ci x86_64 |