CI #1033
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: | |
workflow_dispatch: | |
schedule: [cron: "0 0 * * *"] | |
env: | |
CI_RUST_TOOLCHAIN: 1.59 | |
jobs: | |
test: | |
name: Rust ${{matrix.rust}} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: sudo apt install -y cmake g++ libprotobuf-dev protobuf-compiler | |
- name: Prepare docker environment | |
uses: crazy-max/ghaction-docker-buildx@v3 | |
with: | |
buildx-version: latest | |
qemu-version: latest | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.CI_RUST_TOOLCHAIN }} | |
override: true | |
- name: Test mock etcd | |
run: cargo test -p mock-etcd | |
- name: Test etcd client | |
run: | | |
sudo apt install net-tools | |
export ETCD_CONTAINER_NAME=etcd | |
docker run -d --rm --net host --name $ETCD_CONTAINER_NAME gcr.io/google-containers/etcd:3.4.9 /usr/local/bin/etcd | |
docker ps | |
docker logs $ETCD_CONTAINER_NAME | |
sudo netstat -lntp | |
cargo test -p etcd-client | |
fmt: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.CI_RUST_TOOLCHAIN }} | |
override: true | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- run: sudo apt install -y cmake g++ libprotobuf-dev protobuf-compiler | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.CI_RUST_TOOLCHAIN }} | |
override: true | |
- run: rustup component add clippy | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-targets --all-features -- -D warnings |