Create separate markdown files for local browsing with relative links and GitHub Action summaries with artifact notices. This ensures the GitHub Step Summary remains readable and informative without broken links.
76 lines
2.0 KiB
YAML
76 lines
2.0 KiB
YAML
name: Netem Interop
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
GOBIN: ${{ github.workspace }}/.tools/bin
|
|
IRTT_UPSTREAM_VERSION: v0.9.1
|
|
|
|
jobs:
|
|
netem:
|
|
name: netem interop
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 25
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Install Rust toolchain
|
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
|
with:
|
|
cache-key: interop-netem
|
|
|
|
- name: Check host tools
|
|
run: |
|
|
ip -V
|
|
tc -V
|
|
go version
|
|
|
|
- name: Install upstream irtt
|
|
run: |
|
|
mkdir -p "$GOBIN"
|
|
go install "github.com/heistp/irtt/cmd/irtt@${IRTT_UPSTREAM_VERSION}"
|
|
"$GOBIN/irtt" version
|
|
|
|
- name: Build irtt-rs CLI
|
|
run: cargo build -p irtt-cli --locked
|
|
|
|
- name: Run netem interop comparisons
|
|
run: |
|
|
python3 scripts/run_netem_interop_ci.py \
|
|
--all \
|
|
--skip-build \
|
|
--upstream-irtt "$GOBIN/irtt" \
|
|
--irtt-rs-command "$PWD/target/debug/irtt-cli"
|
|
|
|
- name: Append netem interop summary
|
|
if: always()
|
|
run: |
|
|
latest_summary="$(find target/interop-netem -mindepth 2 -maxdepth 2 -name github-step-summary.md -type f -print 2>/dev/null | sort | tail -n 1)"
|
|
if [ -n "$latest_summary" ]; then
|
|
cat "$latest_summary" >> "$GITHUB_STEP_SUMMARY"
|
|
else
|
|
echo "No netem interop github-step-summary.md found." >> "$GITHUB_STEP_SUMMARY"
|
|
fi
|
|
|
|
- name: Upload netem interop artifacts
|
|
if: always()
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
with:
|
|
name: interop-netem
|
|
path: target/interop-netem
|