diff --git a/.github/workflows/cross.yml b/.github/workflows/cross.yml new file mode 100644 index 000000000..c447704ed --- /dev/null +++ b/.github/workflows/cross.yml @@ -0,0 +1,58 @@ +name: Cross-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 + MUSL_TARGET: x86_64-unknown-linux-musl + CROSS_FEATURES: --no-default-features --features vendored-openssl,quic,vendored-c-ares,hickory + +jobs: + build: + name: Build + runs-on: ubuntu-latest + strategy: + matrix: + target: + - x86_64-unknown-linux-musl + - x86_64-pc-windows-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 }} + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install capnproto + - name: Install musl dependencies + run: sudo apt-get install musl-tools + if: matrix.target == x86_64-unknown-linux-musl + - name: Install windows dependencies + run: sudo apt-get install gcc-mingw-w64-x86-64 + if: matrix.target == x86_64-pc-windows-gnu + - name: Cargo build + run: cargo build --target=${{ matrix.target }} $CROSS_FEATURES + - name: Cargo clippy + run: cargo clippy --target=${{ matrix.target }} $CROSS_FEATURES --tests -- --deny warnings + - name: Cargo test + run: cargo test --target=${{ matrix.target }} $CROSS_FEATURES diff --git a/.github/workflows/linux-musl.yml b/.github/workflows/linux-musl.yml deleted file mode 100644 index d6820f03e..000000000 --- a/.github/workflows/linux-musl.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Linux-musl-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 - MUSL_TARGET: x86_64-unknown-linux-musl - MUSL_FEATURES: --no-default-features --features vendored-openssl,quic,vendored-c-ares,hickory - -jobs: - build: - name: Build - 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: - targets: $MUSL_TARGET - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install capnproto musl-tools - - name: Cargo build - run: cargo build --target=$MUSL_TARGET $MUSL_FEATURES - - name: Cargo clippy - run: cargo clippy --target=$MUSL_TARGET $MUSL_FEATURES --tests -- --deny warnings - - name: Cargo test - run: cargo test --target=$MUSL_TARGET $MUSL_FEATURES