Run release builds on all branches #267
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: CI | |
on: [ push, pull_request ] | |
jobs: | |
build: | |
name: "Build & Lint" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ "windows-latest", "macos-latest", "ubuntu-latest" ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup Rust | |
run: | | |
rustup toolchain install stable --profile minimal --no-self-update | |
rustup default stable | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: cargo build --release | |
- name: Check | |
# Only run on Ubuntu | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: cargo check | |
- name: Clippy | |
# Only run on Ubuntu | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: cargo clippy | |
- name: Style | |
# Only run on Ubuntu | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: cargo fmt --all -- --check | |
- name: Test | |
# Don't run on Windows because Unix sockets are not available. | |
if: ${{ matrix.os != 'windows-latest' }} | |
run: cargo test | |
- name: E2E | |
shell: bash | |
run: | | |
# Start a Deltio instance in the background | |
./target/release/deltio --bind 0.0.0.0:8085 --log trace & | |
# Run the E2E smoke test | |
cd e2e | |
cargo run | |
concurrency: | |
cancel-in-progress: true | |
group: ci-${{ github.ref }} |