Skip to content

docs: add information that the command can also be run on mac #451

docs: add information that the command can also be run on mac

docs: add information that the command can also be run on mac #451

Workflow file for this run

name: Rust checks
on:
push:
branches:
- master
pull_request:
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-Dwarnings"
NIGHTLY_VERSION: "nightly-2024-05-18"
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/manhunto/webhooks-rs-dev:latest
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
services:
postgres:
image: postgres:16.3-alpine3.20
env:
POSTGRES_USER: webhooks
POSTGRES_PASSWORD: webhooks
steps:
- uses: actions/checkout@v4
- name: Cache setup
uses: Swatinem/rust-cache@v2
- name: Init db
run: ./scripts/init-db.sh
- name: Build
run: cargo build --all-targets --verbose
tests:
runs-on: ubuntu-latest
container:
image: ghcr.io/manhunto/webhooks-rs-dev:latest
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
services:
postgres:
image: postgres:16.3-alpine3.20
env:
POSTGRES_USER: webhooks
POSTGRES_PASSWORD: webhooks
POSTGRES_DB: webhooks
rabbitmq:
image: ghcr.io/manhunto/webhooks-rs-rabbitmq:latest
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Cache setup
uses: Swatinem/rust-cache@v2
- name: Init db
run: ./scripts/init-db.sh
- name: Run tests
run: cargo test --workspace --verbose
coverage:
runs-on: ubuntu-latest
container:
image: ghcr.io/manhunto/webhooks-rs-dev:latest
options: --security-opt seccomp=unconfined
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
services:
postgres:
image: postgres:16.3-alpine3.20
env:
POSTGRES_USER: webhooks
POSTGRES_PASSWORD: webhooks
POSTGRES_DB: webhooks
rabbitmq:
image: ghcr.io/manhunto/webhooks-rs-rabbitmq:latest
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Cache setup
uses: Swatinem/rust-cache@v2
- name: Init db
run: ./scripts/init-db.sh
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.NIGHTLY_VERSION }}
override: true
- name: Generate code coverage
run: cargo +${{ env.NIGHTLY_VERSION }} tarpaulin --verbose --all-features --workspace --ignore-tests --timeout 120 --out xml
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.5.0
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
os: alpine
- name: Archive code coverage results
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: cobertura.xml
clippy:
runs-on: ubuntu-latest
container:
image: ghcr.io/manhunto/webhooks-rs-dev:latest
credentials:
username: manhunto
password: ${{ secrets.GHCR_TOKEN }}
services:
postgres:
image: postgres:16.3-alpine3.20
env:
POSTGRES_USER: webhooks
POSTGRES_PASSWORD: webhooks
POSTGRES_DB: webhooks
steps:
- uses: actions/checkout@v4
- name: Cache setup
uses: Swatinem/rust-cache@v2
- name: Init db
run: ./scripts/init-db.sh
- name: Run Clippy
run: cargo clippy --all-targets --all-features
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run fmt
run: cargo fmt --all --check