Merge tag 'v2.48.0' #158
Workflow file for this run
This file contains 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: Test | |
on: | |
pull_request: # all target branches | |
push: # all target branches | |
paths-ignore: | |
- '**/README*.md' | |
- '.github/FUNDING.yml' | |
- '.github/ISSUE_TEMPLATE/**' | |
permissions: | |
contents: read | |
jobs: | |
code_formatting: | |
name: Code Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal --component rustfmt | |
- name: Check rust format | |
run: cargo fmt -- --check | |
- name: Install for node | |
run: npm ci | |
working-directory: src/node | |
- name: Check typescript format | |
run: npm run check-format | |
working-directory: src/node | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install protoc | |
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
- name: Install Python tools | |
run: pip3 install flake8 mypy | |
- uses: actions/checkout@v4 | |
- name: Cargo Cache | |
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 | |
with: | |
cache-targets: "false" | |
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal --component clippy --target aarch64-linux-android,aarch64-apple-ios | |
- name: Install extra Rust tools | |
run: cargo +stable install --version 0.6.2 --locked cargo-about | |
- run: shellcheck **/*.sh bin/build-aar bin/build-call_sim-cli bin/build-direct bin/build-electron bin/build-gctc bin/build-ios bin/build-javadoc bin/build-rustdoc bin/build-target bin/fetch-artifact bin/gsync-webrtc bin/prepare-workspace bin/rust-lint-check bin/set-up-for-cocoapods src/rust/scripts/run-tests | |
# Skip the Python scripts not written with flake8 style. (Try not to add more.) | |
- run: cd bin && python3 -m flake8 . --exclude measure-cpu.py | |
- name: Set up mypy types | |
run: mkdir .mypy_cache/ && python3 -m mypy --install-types --non-interactive bin/logs-notebook/call_log_parser.py --cache-dir=.mypy_cache/ | |
# Only include typed Python scripts here. | |
- run: python3 -m mypy --python-version 3.8 --strict bin/convert_webrtc_acknowledgments.py bin/fetch-artifact.py bin/logs-notebook/call_log_parser.py bin/logs-notebook/emos.py | |
- name: Check acknowledgments | |
run: ./bin/regenerate_acknowledgments.sh && git diff --name-status --exit-code acknowledgments | |
- name: Clippy | |
run: cargo clippy --package ringrtc --tests --features sim -- -D warnings | |
- name: Clippy (Android) | |
run: cargo clippy --package ringrtc --target aarch64-linux-android -- -D warnings | |
- name: Clippy (group_call) | |
run: cargo clippy --package ringrtc --bin group_call --features native,sim_http -- -D warnings | |
- name: Clippy (call_link) | |
run: cargo clippy --package ringrtc --bin call_link --features uuid,sim,sim_http,rand_chacha -- -D warnings | |
- name: Clippy (call_sim-cli) | |
run: cargo clippy --package ringrtc --bin call_sim-cli --features call_sim -- -D warnings | |
- name: Clippy (call_sim) | |
run: cargo clippy --package call_sim -- -D warnings | |
- name: Clippy (mrp) | |
run: cargo clippy --package mrp -- -D warnings | |
- name: Clippy (protobuf) | |
run: cargo clippy --package protobuf --features call_sim -- -D warnings | |
- name: Clippy (signaling_server) | |
run: cargo clippy -- -D warnings | |
working-directory: call_sim/docker/signaling_server | |
- name: Install for node | |
run: npm ci | |
working-directory: src/node | |
- name: Check typescript | |
run: npm run eslint | |
working-directory: src/node | |
- name: Check package.json for prebuildChecksum | |
run: >- | |
grep -q '"prebuildChecksum": ""' package.json | |
working-directory: src/node | |
- name: Compare package.json and package-lock.json versions | |
run: > | |
PKG_OG=$(jq -r .version package.json); | |
PKG_LOCK=$(jq -r .version package-lock.json); | |
if [ "$PKG_OG" != "$PKG_LOCK" ]; then | |
echo "package.json and package-lock.json versions do not match"; | |
exit 1; | |
fi | |
working-directory: src/node | |
wrapper_validation: | |
name: Validate Gradle wrapper | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run wrapper validation | |
uses: gradle/actions/wrapper-validation@v3 | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install protoc | |
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
- uses: actions/checkout@v4 | |
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal | |
- name: Run rust tests | |
run: cd src/rust && ./scripts/run-tests |