Set a magic config which makes our kafka integration tests complete in half the time #4744
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: Build | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
# Cancel already running jobs | |
concurrency: | |
group: build_${{ github.head_ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
jobs: | |
build: | |
strategy: | |
matrix: | |
include: | |
- name: Ubuntu 22.04 - Release - x86_64 | |
runner: ubuntu-22.04 | |
cargo_flags: --release | |
- name: Ubuntu 22.04 - Release - aarch64 | |
runner: ubuntu-22.04 | |
cargo_flags: --target aarch64-unknown-linux-gnu --release | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- name: cache custom ubuntu packages | |
uses: actions/cache@v4 | |
with: | |
path: shotover-proxy/build/packages | |
key: ubuntu-22.04-packages | |
- uses: actions/checkout@v4 | |
# We purposefully dont cache here as build_and_test will always be the bottleneck | |
# so we should leave the cache alone so build_and_test can make more use of it. | |
- name: Install ubuntu packages | |
run: shotover-proxy/build/install_ubuntu_packages.sh | |
# This can be removed when we swap to aarch64 runners instead of cross compiling | |
- name: Install aarch64 gcc | |
run: sudo apt-get install -y gcc-aarch64-linux-gnu | |
- name: Install cargo-hack | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: Ensure that dev tools compiles and has no warnings with no features enabled | |
run: cargo clippy --locked ${{ matrix.cargo_flags }} --all-targets -- -D warnings | |
- name: Ensure that shotover-proxy compiles and has no warnings under every possible combination of features | |
# some things to explicitly point out: | |
# * clippy also reports rustc warnings and errors | |
# * clippy --all-targets is not run so we only build the shotover_proxy executable without the tests/benches | |
run: cargo hack --feature-powerset --at-least-one-of redis,cassandra,kafka,opensearch clippy --locked ${{ matrix.cargo_flags }} --package shotover-proxy -- -D warnings |