mirror of
https://github.com/bytedance/g3.git
synced 2026-04-28 03:30:31 +00:00
106 lines
2.6 KiB
YAML
106 lines
2.6 KiB
YAML
name: Linux-CI
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'ansible/**'
|
|
- 'doc/**'
|
|
- 'demo/**'
|
|
- 'scripts/**'
|
|
- 'g3proxy/doc/**'
|
|
- 'g3tiles/doc/**'
|
|
branches:
|
|
- 'master'
|
|
- 'rel/**'
|
|
pull_request:
|
|
branches:
|
|
- 'master'
|
|
- 'rel/**'
|
|
|
|
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@master
|
|
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 --lib --examples
|
|
|
|
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@stable
|
|
with:
|
|
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:
|
|
name: Build vendored
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
feature:
|
|
- vendored-openssl
|
|
- vendored-tongsuo
|
|
- vendored-aws-lc
|
|
- vendored-boringssl
|
|
component:
|
|
- g3proxy
|
|
- g3bench
|
|
- g3tiles
|
|
- g3fcgen
|
|
- g3mkcert
|
|
- g3keymess
|
|
include:
|
|
- feature: vendored-c-ares
|
|
component: g3proxy
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install stable toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
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
|