diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ff94704 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: Etcd Client Test +run-name: ${{ github.actor }} is testing out etcd client +on: + pull_request_target: + branches: ['**'] + push: + branches: ['**'] + +jobs: + regression-test: + runs-on: ubuntu-latest + steps: + - run: echo "Get latest etcd from docker hub" + - run: docker --version + - run: sudo docker pull bitnami/etcd:latest + - run: sudo docker network create app-tier --driver bridge + - run: sudo docker run -d --name Etcd-server --network app-tier --publish 2379:2379 --publish 2380:2380 --env ALLOW_NONE_AUTHENTICATION=yes --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 bitnami/etcd:latest + - run: sudo apt install -y protobuf-compiler libprotobuf-dev + - name: Check out repository code + uses: actions/checkout@v3 + - run: cargo --version --verbose + - run: rustc --version --verbose + - name: format check + run: cargo fmt --check + - name: clippy + run: cargo clippy --all-targets -- -D warnings + - name: unit test + run: cargo test + - run: cargo run --example kv + - run: cargo run --example lease + - run: cargo run --example lock + - run: cargo run --example maintenance + - run: cargo run --example watch + - run: cargo run --example election + # run: cargo run --example auth_role + # run: cargo run --example auth_user + # run: cargo run --example cluster