g3/.github/workflows/linux.yml
dependabot[bot] 2ecccf61a2
build(deps): bump dtolnay/rust-toolchain (#621)
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from a54c7afa936fefeb4456b2dd8068152669aa8203 to 56f84321dbccf38fb67ce29ab63e4754056677e0.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](a54c7afa93...56f84321db)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 17:33:49 +08:00

144 lines
4 KiB
YAML

name: Linux-CI
permissions: { }
on:
push:
paths-ignore:
- 'ansible/**'
- 'doc/**'
- 'sphinx/**'
- 'scripts/**'
branches:
- 'master'
- 'lts/**'
pull_request:
paths-ignore:
- 'ansible/**'
- 'doc/**'
- 'sphinx/**'
- 'scripts/**'
branches:
- 'master'
- 'lts/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: true
- name: Install ${{ matrix.rust }} toolchain
uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 # v1
with:
toolchain: ${{ matrix.rust }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install capnproto libc-ares-dev libssl-dev liblua5.4-dev
- name: Cargo build
run: cargo build
- name: Cargo test
run: cargo test --workspace
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: true
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 # v1
with:
toolchain: stable
components: clippy
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install capnproto libc-ares-dev libssl-dev liblua5.4-dev
- name: Cargo clippy
run: cargo clippy --tests -- --deny warnings
build-vendored-g1:
name: Build vendored
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- vendored-openssl,rustls-ring
- vendored-tongsuo,rustls-ring
- vendored-boringssl,rustls-ring
component:
- g3proxy
- g3bench
- g3tiles
include:
- feature: vendored-c-ares,rustls-ring
component: g3proxy
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: true
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 # v1
with:
toolchain: stable
components: clippy
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install capnproto libc-ares-dev libssl-dev liblua5.4-dev
- name: Cargo build
run: cargo build --no-default-features --features ${{ matrix.feature }} -p ${{ matrix.component }}
- name: Cargo clippy
run: cargo clippy --no-default-features --features ${{ matrix.feature }} -p ${{ matrix.component }} -- --deny warnings
build-vendored-g2:
name: Build vendored
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- vendored-openssl
- vendored-tongsuo
- vendored-boringssl
component:
- g3fcgen
- g3mkcert
- g3keymess
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: true
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@56f84321dbccf38fb67ce29ab63e4754056677e0 # v1
with:
toolchain: stable
components: clippy
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install capnproto libssl-dev
- name: Cargo build
run: cargo build --no-default-features --features ${{ matrix.feature }} -p ${{ matrix.component }}
- name: Cargo clippy
run: cargo clippy --no-default-features --features ${{ matrix.feature }} -p ${{ matrix.component }} -- --deny warnings