mirror of
https://github.com/bytedance/g3.git
synced 2026-05-18 23:42:21 +00:00
94 lines
2.7 KiB
YAML
94 lines
2.7 KiB
YAML
name: CrossCompiling
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'ansible/**'
|
|
- 'doc/**'
|
|
- 'demo/**'
|
|
- 'scripts/**'
|
|
- 'g3proxy/doc/**'
|
|
- 'g3tiles/doc/**'
|
|
branches:
|
|
- 'master'
|
|
- 'rel/**'
|
|
- 'lts/**'
|
|
pull_request:
|
|
branches:
|
|
- 'master'
|
|
- 'rel/**'
|
|
- 'lts/**'
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
CROSS_FEATURES: --no-default-features --features vendored-openssl,quic,vendored-c-ares,hickory
|
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
|
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER: riscv64-linux-gnu-gcc
|
|
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER: powerpc64le-linux-gnu-gcc
|
|
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER: s390x-linux-gnu-gcc
|
|
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc
|
|
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc
|
|
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER: arm-linux-gnueabi-gcc
|
|
CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER: i686-linux-gnu-gcc
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
target: [
|
|
{
|
|
rustc: x86_64-pc-windows-gnu,
|
|
gcc: gcc-mingw-w64-x86-64,
|
|
},
|
|
{
|
|
rustc: i686-unknown-linux-gnu,
|
|
gcc: gcc-i686-linux-gnu,
|
|
},
|
|
{
|
|
rustc: aarch64-unknown-linux-gnu,
|
|
gcc: gcc-aarch64-linux-gnu,
|
|
},
|
|
{
|
|
rustc: armv7-unknown-linux-gnueabihf,
|
|
gcc: gcc-arm-linux-gnueabihf,
|
|
},
|
|
{
|
|
rustc: arm-unknown-linux-gnueabihf,
|
|
gcc: gcc-arm-linux-gnueabihf,
|
|
},
|
|
{
|
|
rustc: arm-unknown-linux-gnueabi,
|
|
gcc: gcc-arm-linux-gnueabi,
|
|
},
|
|
{
|
|
rustc: riscv64gc-unknown-linux-gnu,
|
|
gcc: gcc-riscv64-linux-gnu,
|
|
},
|
|
{
|
|
rustc: powerpc64le-unknown-linux-gnu,
|
|
gcc: gcc-powerpc64le-linux-gnu,
|
|
},
|
|
{
|
|
rustc: s390x-unknown-linux-gnu,
|
|
gcc: gcc-s390x-linux-gnu,
|
|
},
|
|
]
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install stable toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: ${{ matrix.target.rustc }}
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install capnproto ${{ matrix.target.gcc }}
|
|
- name: Cargo build
|
|
run: cargo build --target=${{ matrix.target.rustc }} $CROSS_FEATURES
|
|
- name: Cargo clippy
|
|
run: cargo clippy --target=${{ matrix.target.rustc }} $CROSS_FEATURES --tests -- --deny warnings
|