ci: make Gitea primary Linux forge
Rust CI / cargo fmt (push) Successful in 45s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 1m4s
Rust CI / cargo clippy (push) Successful in 1m6s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m48s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 50s
Rust CI / cargo doc (push) Failing after 48s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m49s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 2m3s
Supply chain / cargo-deny advisories (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m33s
Supply chain / cargo-deny bans licenses sources (push) Failing after 27s
Supply chain / actionlint (push) Failing after 14s
Rust CI / cargo fmt (push) Successful in 45s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 1m4s
Rust CI / cargo clippy (push) Successful in 1m6s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m48s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 50s
Rust CI / cargo doc (push) Failing after 48s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m49s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 2m3s
Supply chain / cargo-deny advisories (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m33s
Supply chain / cargo-deny bans licenses sources (push) Failing after 27s
Supply chain / actionlint (push) Failing after 14s
This commit is contained in:
8 files changed
+134
-83
No files matched your search
@@ -7,7 +7,6 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
merge_group:
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@@ -32,7 +31,7 @@ jobs:
|
|||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
components: rustfmt
|
components: rustfmt
|
||||||
cache-key: fmt
|
cache: false
|
||||||
|
|
||||||
- name: Check formatting
|
- name: Check formatting
|
||||||
uses: actions-rust-lang/rustfmt@4066006ec54a31931b9b1fddfd38f2fdf2d27143 # v1
|
uses: actions-rust-lang/rustfmt@4066006ec54a31931b9b1fddfd38f2fdf2d27143 # v1
|
||||||
@@ -52,7 +51,7 @@ jobs:
|
|||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
components: clippy
|
components: clippy
|
||||||
cache-key: clippy
|
cache: false
|
||||||
|
|
||||||
- name: Run clippy
|
- name: Run clippy
|
||||||
run: |
|
run: |
|
||||||
@@ -79,46 +78,22 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- task: check
|
- task: check
|
||||||
runner: ubuntu-24.04
|
|
||||||
target: x86_64-unknown-linux-gnu
|
target: x86_64-unknown-linux-gnu
|
||||||
musl: false
|
musl: false
|
||||||
|
|
||||||
- task: test
|
- task: test
|
||||||
runner: ubuntu-24.04
|
|
||||||
target: x86_64-unknown-linux-gnu
|
target: x86_64-unknown-linux-gnu
|
||||||
musl: false
|
musl: false
|
||||||
|
|
||||||
- task: check
|
- task: check
|
||||||
runner: ubuntu-24.04
|
|
||||||
target: x86_64-unknown-linux-musl
|
target: x86_64-unknown-linux-musl
|
||||||
musl: true
|
musl: true
|
||||||
|
|
||||||
- task: test
|
- task: test
|
||||||
runner: ubuntu-24.04
|
|
||||||
target: x86_64-unknown-linux-musl
|
target: x86_64-unknown-linux-musl
|
||||||
musl: true
|
musl: true
|
||||||
|
|
||||||
- task: check
|
runs-on: ubuntu-latest
|
||||||
runner: ubuntu-24.04-arm
|
|
||||||
target: aarch64-unknown-linux-gnu
|
|
||||||
musl: false
|
|
||||||
|
|
||||||
- task: test
|
|
||||||
runner: ubuntu-24.04-arm
|
|
||||||
target: aarch64-unknown-linux-gnu
|
|
||||||
musl: false
|
|
||||||
|
|
||||||
- task: check
|
|
||||||
runner: ubuntu-24.04-arm
|
|
||||||
target: aarch64-unknown-linux-musl
|
|
||||||
musl: true
|
|
||||||
|
|
||||||
- task: test
|
|
||||||
runner: ubuntu-24.04-arm
|
|
||||||
target: aarch64-unknown-linux-musl
|
|
||||||
musl: true
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.runner }}
|
|
||||||
timeout-minutes: 25
|
timeout-minutes: 25
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -137,7 +112,7 @@ jobs:
|
|||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
cache-key: ${{ matrix.task }}-${{ matrix.target }}
|
cache: false
|
||||||
|
|
||||||
- name: Run ${{ matrix.task }} with all features
|
- name: Run ${{ matrix.task }} with all features
|
||||||
run: |
|
run: |
|
||||||
@@ -174,7 +149,7 @@ jobs:
|
|||||||
- name: Install Rust toolchain
|
- name: Install Rust toolchain
|
||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
cache-key: docs
|
cache: false
|
||||||
|
|
||||||
- name: Check docs
|
- name: Check docs
|
||||||
run: |
|
run: |
|
||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
- name: Install stable Rust toolchain
|
- name: Install stable Rust toolchain
|
||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
cache-key: fuzz
|
cache: false
|
||||||
|
|
||||||
- name: Install nightly Rust toolchain
|
- name: Install nightly Rust toolchain
|
||||||
# Installed alongside, but deliberately not made the directory
|
# Installed alongside, but deliberately not made the directory
|
||||||
@@ -32,13 +32,14 @@ jobs:
|
|||||||
- name: Install Rust toolchain
|
- name: Install Rust toolchain
|
||||||
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
cache-key: interop-netem
|
cache: false
|
||||||
|
|
||||||
- name: Check host tools
|
- name: Check host tools and network administration access
|
||||||
run: |
|
run: |
|
||||||
ip -V
|
ip -V
|
||||||
tc -V
|
tc -V
|
||||||
go version
|
go version
|
||||||
|
sudo -n true
|
||||||
|
|
||||||
- name: Install upstream irtt
|
- name: Install upstream irtt
|
||||||
run: |
|
run: |
|
||||||
@@ -62,14 +63,14 @@ jobs:
|
|||||||
run: |
|
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)"
|
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
|
if [ -n "$latest_summary" ]; then
|
||||||
cat "$latest_summary" >> "$GITHUB_STEP_SUMMARY"
|
cat "$latest_summary" >> "$GITEA_STEP_SUMMARY"
|
||||||
else
|
else
|
||||||
echo "No netem interop github-step-summary.md found." >> "$GITHUB_STEP_SUMMARY"
|
echo "No netem interop github-step-summary.md found." >> "$GITEA_STEP_SUMMARY"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Upload netem interop artifacts
|
- name: Upload netem interop artifacts
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
uses: https://gitea.com/actions/gitea-upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: interop-netem
|
name: interop-netem
|
||||||
path: target/interop-netem
|
path: target/interop-netem
|
||||||
@@ -25,7 +25,16 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
- name: Check semver compatibility
|
- name: Install Rust toolchain
|
||||||
uses: obi1kenobi/cargo-semver-checks-action@6b69fcf40e9b5fb17adeb57e4b6ecd020649a239 # v2
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
with:
|
with:
|
||||||
feature-group: all-features
|
cache: false
|
||||||
|
|
||||||
|
# The action wrapper downloads through the GitHub API and uses the
|
||||||
|
# GitHub cache service. The underlying CLI is portable and preserves
|
||||||
|
# the existing wrapper's `feature-group: all-features` behavior.
|
||||||
|
- name: Install cargo-semver-checks
|
||||||
|
run: cargo install cargo-semver-checks --locked
|
||||||
|
|
||||||
|
- name: Check semver compatibility
|
||||||
|
run: cargo semver-checks check-release --all-features
|
||||||
@@ -7,7 +7,6 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
merge_group:
|
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "41 2 * * 1"
|
- cron: "41 2 * * 1"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -15,6 +14,9 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
ACTIONLINT_VERSION: 1.7.7
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
cargo-deny:
|
cargo-deny:
|
||||||
name: cargo-deny ${{ matrix.checks }}
|
name: cargo-deny ${{ matrix.checks }}
|
||||||
@@ -60,20 +62,26 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install actionlint
|
||||||
|
run: go install github.com/rhysd/actionlint/cmd/actionlint@v${ACTIONLINT_VERSION}
|
||||||
|
|
||||||
- name: actionlint handwritten workflows
|
- name: actionlint handwritten workflows
|
||||||
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
|
# actionlint validates GitHub Actions syntax. It cannot parse Gitea's
|
||||||
with:
|
# required absolute action URL in interop-netem.yml, so that workflow
|
||||||
files: >-
|
# is checked by the Gitea runner instead.
|
||||||
.github/workflows/actions-security.yml,
|
run: |
|
||||||
.github/workflows/ci.yml,
|
"$(go env GOPATH)/bin/actionlint" \
|
||||||
.github/workflows/interop-netem.yml,
|
.gitea/workflows/ci.yml \
|
||||||
.github/workflows/osv-scanner.yml,
|
.gitea/workflows/docker-publish.yml \
|
||||||
.github/workflows/rust-clippy.yml,
|
.gitea/workflows/fuzz.yml \
|
||||||
.github/workflows/semver.yml,
|
.gitea/workflows/semver.yml \
|
||||||
.github/workflows/supply-chain.yml
|
.gitea/workflows/supply-chain.yml \
|
||||||
|
.github/workflows/actions-security.yml \
|
||||||
|
.github/workflows/ci-arm.yml \
|
||||||
|
.github/workflows/osv-scanner.yml \
|
||||||
|
.github/workflows/rust-clippy.yml
|
||||||
|
|
||||||
- name: actionlint generated release workflow
|
- name: actionlint generated release workflow
|
||||||
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
|
run: >-
|
||||||
with:
|
"$(go env GOPATH)/bin/actionlint" -shellcheck=
|
||||||
files: .github/workflows/irtt-rs-release.yml
|
.github/workflows/irtt-rs-release.yml
|
||||||
shellcheck: false
|
|
||||||
@@ -16,34 +16,6 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
actionlint:
|
|
||||||
name: actionlint
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 10
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
|
|
||||||
- name: actionlint handwritten workflows
|
|
||||||
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
|
|
||||||
with:
|
|
||||||
files: >-
|
|
||||||
.github/workflows/actions-security.yml,
|
|
||||||
.github/workflows/ci.yml,
|
|
||||||
.github/workflows/interop-netem.yml,
|
|
||||||
.github/workflows/osv-scanner.yml,
|
|
||||||
.github/workflows/rust-clippy.yml,
|
|
||||||
.github/workflows/semver.yml,
|
|
||||||
.github/workflows/supply-chain.yml
|
|
||||||
|
|
||||||
- name: actionlint generated release workflow
|
|
||||||
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
|
|
||||||
with:
|
|
||||||
files: .github/workflows/irtt-rs-release.yml
|
|
||||||
shellcheck: false
|
|
||||||
zizmor:
|
zizmor:
|
||||||
name: zizmor
|
name: zizmor
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -60,7 +32,13 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
# Zizmor's SARIF integration publishes GitHub Code Scanning results.
|
||||||
|
# It remains here while portable actionlint runs with Gitea CI, but scans
|
||||||
|
# both workflow directories through its GitHub Actions rule set.
|
||||||
- name: Run zizmor
|
- name: Run zizmor
|
||||||
uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3
|
uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3
|
||||||
with:
|
with:
|
||||||
persona: regular
|
persona: regular
|
||||||
|
inputs: |
|
||||||
|
.github/workflows
|
||||||
|
.gitea/workflows
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
name: Rust ARM CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
merge_group:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
verify:
|
||||||
|
name: cargo ${{ matrix.task }} (${{ matrix.target }})
|
||||||
|
# Gitea currently has only amd64 Linux runners; retain ARM coverage here.
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- task: check
|
||||||
|
target: aarch64-unknown-linux-gnu
|
||||||
|
musl: false
|
||||||
|
|
||||||
|
- task: test
|
||||||
|
target: aarch64-unknown-linux-gnu
|
||||||
|
musl: false
|
||||||
|
|
||||||
|
- task: check
|
||||||
|
target: aarch64-unknown-linux-musl
|
||||||
|
musl: true
|
||||||
|
|
||||||
|
- task: test
|
||||||
|
target: aarch64-unknown-linux-musl
|
||||||
|
musl: true
|
||||||
|
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
|
timeout-minutes: 25
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install musl toolchain
|
||||||
|
if: matrix.musl
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install --no-install-recommends musl-tools
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
|
||||||
|
with:
|
||||||
|
target: ${{ matrix.target }}
|
||||||
|
cache-key: ${{ matrix.task }}-${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Run ${{ matrix.task }} with all features
|
||||||
|
run: |
|
||||||
|
cargo ${{ matrix.task }} \
|
||||||
|
--workspace \
|
||||||
|
--all-targets \
|
||||||
|
--all-features \
|
||||||
|
--target ${{ matrix.target }} \
|
||||||
|
--locked
|
||||||
|
|
||||||
|
- name: Run ${{ matrix.task }} without default features
|
||||||
|
run: |
|
||||||
|
cargo ${{ matrix.task }} \
|
||||||
|
--workspace \
|
||||||
|
--all-targets \
|
||||||
|
--no-default-features \
|
||||||
|
--target ${{ matrix.target }} \
|
||||||
|
--locked
|
||||||
@@ -139,5 +139,5 @@ scenario contains the existing comparison harness output under
|
|||||||
`netem-summary.json` files. Server stdout/stderr are captured at the run root as
|
`netem-summary.json` files. Server stdout/stderr are captured at the run root as
|
||||||
`server.stdout` and `server.stderr`.
|
`server.stdout` and `server.stderr`.
|
||||||
|
|
||||||
On macOS, `ip netns` and `tc netem` are unavailable; use the GitHub Actions
|
On macOS, `ip netns` and `tc netem` are unavailable; use the Gitea Actions
|
||||||
workflow for netem coverage.
|
workflow for netem coverage.
|
||||||
Reference in new issue
Block a user