Skip to content

Add GitHub Actions workflow to build and push Docker image #1

Add GitHub Actions workflow to build and push Docker image

Add GitHub Actions workflow to build and push Docker image #1

Workflow file for this run

name: CI
on: pull_request
env:
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }}
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
env:
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }}
id: rust-cache
- name: Check for cache hit
run: echo "cache-hit=${{ steps.rust-cache.outputs.cache-hit }}"
- run: cargo fmt --check
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
env:
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }}
id: rust-cache
- name: Check for cache hit
run: echo "cache-hit=${{ steps.rust-cache.outputs.cache-hit }}"
- run: cargo check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
env:
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }}
id: rust-cache
- name: Check for cache hit
run: echo "cache-hit=${{ steps.rust-cache.outputs.cache-hit }}"
- run: cargo clippy
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Starting up Docker 🐳
run: docker compose -f resource/docker-compose.test.yaml up -d
- uses: actions/checkout@v3
- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
env:
CARGO_REGISTRIES_CLOUDSMITH_TOKEN: ${{ secrets.CLOUDSMITH_API_KEY }}
id: rust-cache
- name: Check for cache hit
run: echo "cache-hit=${{ steps.rust-cache.outputs.cache-hit }}"
- run: cargo test
env:
MARK_FLAKY_TESTS_STRICT: "true"