Random Operations Test #801
This file contains hidden or 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: Random Operations Test | |
on: | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
# ┌───────────── minute (0 - 59) | |
# │ ┌───────────── hour (0 - 23) | |
# │ │ ┌───────────── day of the month (1 - 31) | |
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | |
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | |
- cron: '23 */2 * * *' # runs every 2 hours | |
workflow_dispatch: | |
inputs: | |
random_seed: | |
type: number | |
description: 'The random seed' | |
required: false | |
default: 0 | |
num_operations: | |
type: number | |
description: "The number of operations to test" | |
default: 250 | |
defaults: | |
run: | |
shell: bash -euxo pipefail {0} | |
permissions: {} | |
env: | |
DEFAULT_PG_VERSION: 16 | |
PLATFORM: neon-captest-new | |
AWS_DEFAULT_REGION: eu-central-1 | |
jobs: | |
run-random-rests: | |
env: | |
POSTGRES_DISTRIB_DIR: /tmp/neon/pg_install | |
runs-on: small | |
permissions: | |
id-token: write | |
statuses: write | |
strategy: | |
fail-fast: false | |
matrix: | |
pg-version: [16, 17] | |
container: | |
image: ghcr.io/neondatabase/build-tools:pinned-bookworm | |
credentials: | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
options: --init | |
steps: | |
- name: Harden the runner (Audit all outbound calls) | |
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 | |
with: | |
egress-policy: audit | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Download Neon artifact | |
uses: ./.github/actions/download | |
with: | |
name: neon-${{ runner.os }}-${{ runner.arch }}-release-artifact | |
path: /tmp/neon/ | |
prefix: latest | |
aws-oidc-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }} | |
- name: Run tests | |
uses: ./.github/actions/run-python-test-set | |
with: | |
build_type: remote | |
test_selection: random_ops | |
run_in_parallel: false | |
extra_params: -m remote_cluster | |
pg_version: ${{ matrix.pg-version }} | |
aws-oidc-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }} | |
env: | |
NEON_API_KEY: ${{ secrets.NEON_STAGING_API_KEY }} | |
RANDOM_SEED: ${{ inputs.random_seed }} | |
NUM_OPERATIONS: ${{ inputs.num_operations }} | |
- name: Create Allure report | |
if: ${{ !cancelled() }} | |
id: create-allure-report | |
uses: ./.github/actions/allure-report-generate | |
with: | |
store-test-results-into-db: true | |
aws-oidc-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }} | |
env: | |
REGRESS_TEST_RESULT_CONNSTR_NEW: ${{ secrets.REGRESS_TEST_RESULT_CONNSTR_NEW }} |