test: debug #6
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: BDD CI | |
| on: | |
| workflow_call: | |
| push: | |
| branches: | |
| - gha-runners | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_INCREMENTAL: 0 | |
| CI: 1 | |
| jobs: | |
| bdd-tests: | |
| runs-on: oracle-vm-16cpu-64gb-x86-64 | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: 'recursive' | |
| - uses: cachix/[email protected] | |
| with: | |
| github_access_token: '' | |
| - name: Inject github token to nix config | |
| run: | | |
| cat <<EOF | sudo tee -a /etc/nix/nix.conf | |
| access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
| trusted-users = root runner | |
| EOF | |
| - name: Restart Nix daemon | |
| run: sudo systemctl restart nix-daemon | |
| - uses: cachix/[email protected] | |
| - name: Pre-populate nix-shell | |
| run: | | |
| export NIX_PATH=nixpkgs=$(jq '.nixpkgs.url' nix/sources.json -r) | |
| echo "NIX_PATH=$NIX_PATH" >> $GITHUB_ENV | |
| nix-shell --run "echo" shell.nix | |
| - name: Handle Rust dependencies caching | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build binaries | |
| run: nix-shell --run "cargo build --bins --features=io-engine-testing" | |
| - name: Setup Test Pre-Requisites | |
| run: | | |
| sudo sysctl -w vm.nr_hugepages=2560 | |
| sudo debconf-communicate <<< "set man-db/auto-update false" || true | |
| sudo dpkg-reconfigure man-db || true | |
| ulimit -c unlimited | |
| sudo apt-get update | |
| sudo apt-get install linux-modules-extra-$(uname -r) | |
| for module in nvme_tcp nbd nvme_rdma; do | |
| sudo modprobe $module | |
| done | |
| # for the coredump check | |
| sudo apt-get install gdb | |
| - name: Setup VENV | |
| run: nix-shell --run "./test/python/setup.sh" | |
| - name: Run BDD Tests | |
| run: | | |
| echo "TEST_START_DATE=$(date +"%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV | |
| nix-shell --run "./scripts/pytest-tests.sh" | |
| - name: Pytest BDD Report | |
| if: always() | |
| uses: pmeier/pytest-results-action@main | |
| with: | |
| path: test/python/reports/**/xunit-report.xml | |
| summary: true | |
| display-options: a | |
| fail-on-empty: true | |
| title: Test results | |
| - run: | | |
| if [ -d test/python/reports ]; then | |
| mkdir -p ci-report | |
| mv test/python/reports ci-report/python | |
| fi | |
| nix-shell --run "./scripts/ci-report.sh" | |
| if: failure() | |
| - uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: ci-report-bdd | |
| path: ./ci-report/ci-report.tar.gz | |
| - name: Check Coredumps | |
| run: sudo ./scripts/check-coredumps.sh --since "${TEST_START_DATE}" | |
| - name: Cleanup | |
| if: always() | |
| run: nix-shell --run "./scripts/pytest-tests.sh --clean-all-exit" | |
| # debugging | |
| - name: Setup tmate session | |
| if: ${{ failure() }} | |
| timeout-minutes: 240 | |
| uses: mxschmitt/action-tmate@v3 |