From 93fe5842942dc2d9285d473bd8d6a1b77c7b4f3a Mon Sep 17 00:00:00 2001 From: Koichi Shiraishi Date: Tue, 20 May 2025 18:41:17 +0900 Subject: [PATCH 1/2] github/workflows: add conformance test Signed-off-by: Koichi Shiraishi --- .github/workflows/conformance.yaml | 98 ++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .github/workflows/conformance.yaml diff --git a/.github/workflows/conformance.yaml b/.github/workflows/conformance.yaml new file mode 100644 index 0000000..6b6c632 --- /dev/null +++ b/.github/workflows/conformance.yaml @@ -0,0 +1,98 @@ +name: Conformance + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +defaults: + run: + shell: bash + working-directory: ./conformance + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + server: + runs-on: ubuntu-2404-4-cores + + steps: + # https://github.com/actions/checkout + - uses: actions/checkout@v4 + + # https://github.com/actions/setup-python + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" + + # https://github.com/astral-sh/setup-uv + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + enable-cache: true + cache-suffix: "server" + cache-dependency-glob: "./conformance/uv.lock" + + - name: Install the project + run: uv sync --frozen --all-extras + + # https://github.com/actions/setup-go + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: 'stable' + check-latest: true + cache: true + + - name: Install the connectconformance bianry + run: | + go install -v connectrpc.com/conformance/cmd/connectconformance@latest + + - name: Run the connectconformance for server + run: | + connectconformance --trace --vv --conf ./server_config.yaml --mode server -- uv run python server_runner.py + + client: + runs-on: ubuntu-2404-4-cores + + steps: + # https://github.com/actions/checkout + - uses: actions/checkout@v4 + + # https://github.com/actions/setup-python + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version-file: ".python-version" + + # https://github.com/astral-sh/setup-uv + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + enable-cache: true + cache-suffix: "client" + cache-dependency-glob: "./conformance/uv.lock" + + - name: Install the project + run: uv sync --frozen --all-extras + + # https://github.com/actions/setup-go + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: 'stable' + check-latest: true + cache: true + + - name: Install the connectconformance bianry + run: | + go install -v connectrpc.com/conformance/cmd/connectconformance@latest + + - name: Run the connectconformance for client + run: | + connectconformance --trace --vv --conf ./client_config.yaml --mode client -- uv run python client_runner.py From cd0e06020a0dd2bd1d281382aa333574ddb2a7c7 Mon Sep 17 00:00:00 2001 From: tsubakiky Date: Tue, 20 May 2025 19:17:25 +0900 Subject: [PATCH 2/2] conformance: add client known flaky flag --- .github/workflows/conformance.yaml | 3 ++- conformance/client_known_flaky.yaml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 conformance/client_known_flaky.yaml diff --git a/.github/workflows/conformance.yaml b/.github/workflows/conformance.yaml index 6b6c632..3beb50a 100644 --- a/.github/workflows/conformance.yaml +++ b/.github/workflows/conformance.yaml @@ -95,4 +95,5 @@ jobs: - name: Run the connectconformance for client run: | - connectconformance --trace --vv --conf ./client_config.yaml --mode client -- uv run python client_runner.py + connectconformance --trace --conf ./client_config.yaml --mode client --known-flaky @./client_known_flaky.yaml -- uv run python client_runner.py + diff --git a/conformance/client_known_flaky.yaml b/conformance/client_known_flaky.yaml new file mode 100644 index 0000000..436bc38 --- /dev/null +++ b/conformance/client_known_flaky.yaml @@ -0,0 +1 @@ +Client Cancellation/**