update design #439
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] | |
env: | |
CARGO_TERM_COLOR: always | |
TAGS: dev | |
go-version: "1.21" | |
jobs: | |
unit-test: | |
name: Unit Test | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/sartd/.cargo/registry | |
~/sartd/.cargo/git | |
sartd/target | |
~/sart/.cargo/registry | |
~/sart/.cargo/git | |
sart/target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Setup Build Dependencies | |
run: make setup-grpc | |
- name: Fmt | |
run: make fmt | |
- name: Run Unit Test | |
run: make unit-test | |
integration-test: | |
name: Integration Test | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/sartd/.cargo/registry | |
~/sartd/.cargo/git | |
sartd/target | |
~/sart/.cargo/registry | |
~/sart/.cargo/git | |
sart/target | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Setup Build Dependencies | |
run: make setup-grpc | |
- name: Install Kubernetes Dependencies | |
run: |- | |
make -C e2e setup | |
- name: Run Integration Test | |
run: make integration-test | |
bgp-e2e-test: | |
name: BGP End-to-End Test | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Build Image | |
run: make build-dev-image | |
- name: Setup Tools | |
working-directory: e2e | |
run: make setup | |
- name: Run E2E Test | |
working-directory: e2e | |
run: make bgp-e2e | |
kubernetes-e2e-test: | |
name: Kubernetes End-to-End Test | |
strategy: | |
matrix: | |
# kindest node version | |
kubernetes-version: ["1.26.4", "1.27.1", "1.28.0"] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.go-version }} | |
- name: Build Image | |
run: make build-image | |
- name: Setup Tools | |
working-directory: e2e | |
run: |- | |
make setup | |
make -C ../ setup-grpc | |
- name: Start Kind Cluster | |
working-directory: e2e | |
run: make kubernetes KUBERNETES_VERSION=${{ matrix.kubernetes-version }} | |
- name: Generate Certificates | |
run: make certs | |
- name: Generate CRD | |
run: make crd | |
- name: Install sart | |
working-directory: e2e | |
run: make install-sart | |
- name: Run E2E Test | |
working-directory: e2e | |
run: make kubernetes-e2e | |
- name: Clean up Kind Cluster | |
working-directory: e2e | |
run: make kubernetes-down | |
if: always() |