From af33ba52806015e4974dc8a36cd94789f31e9373 Mon Sep 17 00:00:00 2001 From: Adam Cattermole Date: Fri, 31 Jan 2025 13:16:35 +0000 Subject: [PATCH] Update workflows to support merge queue Signed-off-by: Adam Cattermole --- .github/workflows/e2e.yaml | 21 +++++++++++++++++---- .github/workflows/rust.yml | 20 ++++++++++++++++---- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index a00cd5e7..a9a12f22 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -2,11 +2,13 @@ name: e2e tests on: push: - branches: - - 'main' + branches: ['main'] pull_request: - branches: - - '*' + branches: ['*'] + merge_group: + types: [checks_requested] + workflow_dispatch: + jobs: limits_file_watcher: name: Limits File Watcher in k8s environment @@ -134,3 +136,14 @@ jobs: command: | curl -s "http://127.0.0.1:18080/limits/other_namespace" | tee other-limits.json NUM_LIMITS=$(jq --exit-status 'length' other-limits.json) && test ${NUM_LIMITS} -eq 1 + required-checks: + name: E2E Tests Required Checks + # This check adds a list of checks to one job to simplify adding settings to the repo. + # If a new check is added in this file, and it should be retested on entry to the merge queue, + # it needs to be added to the list below aka needs: [ existing check 1, existing check 2, new check ]. + needs: [ limits_file_watcher, limits_file_watcher_on_docker ] + if: always() + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: echo '${{ toJSON(needs) }}' | jq -e 'all(.[]; .result == "success" or .result == "skipped")' diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a64392ba..fe288562 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -3,11 +3,12 @@ name: Limitador on: push: - branches: - - 'main' + branches: ['main'] pull_request: - branches: - - '*' + branches: ['*'] + merge_group: + types: [checks_requested] + workflow_dispatch: schedule: - cron: '5 4 * * *' @@ -78,3 +79,14 @@ jobs: ips=$(kubectl get nodes -lkubernetes.io/hostname!=kind-control-plane -ojsonpath='{.items[*].status.addresses[?(@.type=="InternalIP")].address}') port=$(kubectl -n default get service kuard -ojsonpath='{.spec.ports[?(@.name=="envoy-http")].nodePort}') curl "http://${ips[0]}:${port}" + required-checks: + name: Limitador Required Checks + # This check adds a list of checks to one job to simplify adding settings to the repo. + # If a new check is added in this file, and it should be retested on entry to the merge queue, + # it needs to be added to the list below aka needs: [ existing check 1, existing check 2, new check ]. + needs: [ check, test, fmt, clippy, kind ] + if: always() + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: echo '${{ toJSON(needs) }}' | jq -e 'all(.[]; .result == "success" or .result == "skipped")'