From ecf20bb6fa6873ee58f5e7c188f2918ef342c0c7 Mon Sep 17 00:00:00 2001 From: Alexey Masterov Date: Tue, 3 Sep 2024 17:21:33 +0200 Subject: [PATCH] Add the workflow file --- .github/workflows/cloud-regress.yml | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/cloud-regress.yml diff --git a/.github/workflows/cloud-regress.yml b/.github/workflows/cloud-regress.yml new file mode 100644 index 0000000000..c563722dfd --- /dev/null +++ b/.github/workflows/cloud-regress.yml @@ -0,0 +1,67 @@ +name: Cloud Regression Test +on: + schedule: + - cron: "0 0 1 1 *" + + workflow_dispatch: # adds ability to run this manually + inputs: + region_id: + description: 'Project region id. If not set, the default region will be used' + required: false + default: 'aws-us-east-2' + +defaults: + run: + shell: bash -euxo pipefail {0} + +concurrency: + # Allow only one workflow per any non-`main` branch. + group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }} + cancel-in-progress: true + +jobs: + regress: + strategy: + fail-fast: false + matrix: + include: + - DEFAULT_PG_VERSION: 16 + PLATFORM: "neon-staging" + region_id: ${{ github.event.inputs.region_id || 'aws-us-east-2' }} + RUNNER: [ us-east-2 ] + IMAGE: 369495373322.dkr.ecr.eu-central-1.amazonaws.com/build-tools:pinned + env: + POSTGRES_DISTRIB_DIR: /tmp/neon/pg_install + DEFAULT_PG_VERSION: ${{ matrix.DEFAULT_PG_VERSION }} + TEST_OUTPUT: /tmp/test_output + BUILD_TYPE: remote + SAVE_PERF_REPORT: ${{ github.event.inputs.save_perf_report || ( github.ref_name == 'main' ) }} + PLATFORM: ${{ matrix.PLATFORM }} + + runs-on: ${{ matrix.RUNNER }} + container: + image: ${{ matrix.IMAGE }} + options: --init + + steps: + - uses: actions/checkout@v4 + + - name: Download Neon artifact + uses: ./.github/actions/download + with: + name: neon-${{ runner.os }}-${{ runner.arch }}-release-artifact + path: /tmp/neon/ + prefix: latest + + - name: Run the regression tests + uses: ./.github/actions/run-python-test-set + with: + build_type: ${{ env.BUILD_TYPE }} + test_selection: test_cloud_regress + run_in_parallel: false + save_perf_report: ${{ env.SAVE_PERF_REPORT }} + pg_version: ${{ env.DEFAULT_PG_VERSION }} + extra_params: + -m remote_cluster + env: + BENCHMARK_CONNSTR: "postgresql://user:password@host:port"