ci: make live and regression tests as slash commands (#61606)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
2f08d7789e
commit
f7a8a3607e
2
.github/pr-welcome-community.md
vendored
2
.github/pr-welcome-community.md
vendored
@@ -18,6 +18,8 @@ As needed or by request, Airbyte Maintainers can execute the following slash com
|
||||
- `/bump-version` - Bumps connector versions.
|
||||
- `/run-connector-tests` - Runs connector tests.
|
||||
- `/run-cat-tests` - Runs CAT tests.
|
||||
- `/run-live-tests` - Runs live tests for the modified connector(s).
|
||||
- `/run-regression-tests` - Runs regression tests for the modified connector(s).
|
||||
- `/build-connector-images` - Builds and publishes a pre-release docker image for the modified connector(s).
|
||||
|
||||
If you have any questions, feel free to ask in the PR comments or join our [Slack community](https://airbytehq.slack.com/).
|
||||
|
||||
2
.github/pr-welcome-internal.md
vendored
2
.github/pr-welcome-internal.md
vendored
@@ -22,6 +22,8 @@ Airbyte Maintainers (that's you!) can execute the following slash commands on yo
|
||||
- You can specify a custom changelog by passing `changelog`. Example: `/bump-version changelog="My cool update"`
|
||||
- Leaving the changelog arg blank will auto-populate the changelog from the PR title.
|
||||
- `/run-cat-tests` - Runs legacy CAT tests (Connector Acceptance Tests)
|
||||
- `/run-live-tests` - Runs live tests for the modified connector(s).
|
||||
- `/run-regression-tests` - Runs regression tests for the modified connector(s).
|
||||
- `/build-connector-images` - Builds and publishes a pre-release docker image for the modified connector(s).
|
||||
- JVM connectors:
|
||||
- `/update-connector-cdk-version connector=<CONNECTOR_NAME>` - Updates the specified connector to the latest CDK version.
|
||||
|
||||
@@ -14,17 +14,44 @@ concurrency:
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
connector_name:
|
||||
description: Connector name (e.g. source-faker)
|
||||
required: true
|
||||
# Global static-arg inputs for slash commands
|
||||
repo:
|
||||
description: "The repository name. Optional. Defaults to 'airbytehq/airbyte'."
|
||||
required: false
|
||||
default: "airbytehq/airbyte"
|
||||
type: string
|
||||
gitref:
|
||||
description: "The git reference (branch or tag). Optional. Defaults to the default branch."
|
||||
required: false
|
||||
type: string
|
||||
comment-id:
|
||||
description: "The ID of the comment triggering the workflow. Optional."
|
||||
required: false
|
||||
type: number
|
||||
pr:
|
||||
description: "The pull request number, if applicable. Optional."
|
||||
required: false
|
||||
type: number
|
||||
|
||||
# Workflow-specific inputs
|
||||
connector_filter:
|
||||
description: >
|
||||
Connector filter. Will be passed to the `airbyte-ci connectors` command.
|
||||
To select all modified connectors, use '--modified'. To select specific connectors,
|
||||
pass one or or more `--name` args, e.g. '--name=source-faker --name=source-hardcoded-records'.
|
||||
default: "--modified"
|
||||
connection_id:
|
||||
description: ID of the connection to test; use "auto" to let the connection retriever choose a connection
|
||||
required: true
|
||||
pr_url:
|
||||
description: URL of the PR containing the code change
|
||||
required: true
|
||||
description: >
|
||||
Connection ID. ID of the connection to test; use "auto" to let the
|
||||
connection retriever choose a connection.
|
||||
default: "auto"
|
||||
streams:
|
||||
description: Streams to include in tests
|
||||
description: >
|
||||
(Optional) Streams. Which streams to include in tests.
|
||||
If not set, these will be chosen automatically.
|
||||
required: false
|
||||
default: ""
|
||||
type: string
|
||||
should_read_with_state:
|
||||
description: Whether to run tests against the read command with state
|
||||
default: "true"
|
||||
@@ -39,7 +66,7 @@ on:
|
||||
type: boolean
|
||||
connection_subset:
|
||||
description: The subset of connections to select from.
|
||||
required: true
|
||||
default: "sandboxes"
|
||||
type: choice
|
||||
options:
|
||||
- sandboxes
|
||||
@@ -141,4 +168,4 @@ jobs:
|
||||
github_token: ${{ secrets.GH_PAT_MAINTENANCE_OSS }}
|
||||
s3_build_cache_access_key_id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
|
||||
s3_build_cache_secret_key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
|
||||
subcommand: connectors ${{ env.USE_LOCAL_CDK_FLAG }} --name ${{ github.event.inputs.connector_name }} test --only-step connector_live_tests --connector_live_tests.test-suite=live --connector_live_tests.connection-id=${{ github.event.inputs.connection_id }} --connector_live_tests.pr-url=${{ github.event.inputs.pr_url }} ${{ env.READ_WITH_STATE_FLAG }} ${{ env.DISABLE_PROXY_FLAG }} ${{ env.STREAM_PARAMS }} ${{ env.CONNECTION_SUBSET }}
|
||||
subcommand: connectors ${{ env.USE_LOCAL_CDK_FLAG }} ${{ inputs.connector_filter }} test --only-step connector_live_tests --connector_live_tests.test-suite=live --connector_live_tests.connection-id=${{ github.event.inputs.connection_id }} --connector_live_tests.pr-url="https://github.com/airbytehq/airbyte/pull/${{ github.event.inputs.pr }}" ${{ env.READ_WITH_STATE_FLAG }} ${{ env.DISABLE_PROXY_FLAG }} ${{ env.STREAM_PARAMS }} ${{ env.CONNECTION_SUBSET }}
|
||||
@@ -14,18 +14,44 @@ concurrency:
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
connector_name:
|
||||
description: Connector name (e.g. source-faker)
|
||||
required: true
|
||||
# Global static-arg inputs for slash commands
|
||||
repo:
|
||||
description: "The repository name"
|
||||
required: false
|
||||
default: "airbytehq/airbyte"
|
||||
type: string
|
||||
gitref:
|
||||
description: "The git reference (branch or tag)"
|
||||
required: false
|
||||
type: string
|
||||
comment-id:
|
||||
description: "The ID of the comment triggering the workflow"
|
||||
required: false
|
||||
type: number
|
||||
pr:
|
||||
description: "The pull request number, if applicable"
|
||||
required: false
|
||||
type: number
|
||||
|
||||
# Workflow-specific inputs
|
||||
connector_filter:
|
||||
description: >
|
||||
Connector filter. Will be passed to the `airbyte-ci connectors` command.
|
||||
To select all modified connectors, use '--modified'. To select specific connectors,
|
||||
pass one or or more `--name` args, e.g. '--name=source-faker --name=source-hardcoded-records'.
|
||||
default: "--modified"
|
||||
connection_id:
|
||||
description: ID of the connection to test; use "auto" to let the connection retriever choose a connection
|
||||
required: true
|
||||
default: auto
|
||||
pr_url:
|
||||
description: URL of the PR containing the code change
|
||||
required: true
|
||||
description: >
|
||||
Connection ID. ID of the connection to test; use "auto" to let the
|
||||
connection retriever choose a connection.
|
||||
default: "auto"
|
||||
streams:
|
||||
description: Streams to include in regression tests
|
||||
description: >
|
||||
(Optional) Streams. Which streams to include in tests.
|
||||
If not set, these will be chosen automatically.
|
||||
required: false
|
||||
default: ""
|
||||
type: string
|
||||
should_read_with_state:
|
||||
description: Whether to run tests against the read command with state
|
||||
default: "true"
|
||||
@@ -40,9 +66,8 @@ on:
|
||||
type: boolean
|
||||
connection_subset:
|
||||
description: The subset of connections to select from.
|
||||
required: true
|
||||
default: "sandboxes"
|
||||
type: choice
|
||||
default: all
|
||||
options:
|
||||
- sandboxes
|
||||
- all
|
||||
@@ -164,4 +189,4 @@ jobs:
|
||||
github_token: ${{ secrets.GH_PAT_MAINTENANCE_OSS }}
|
||||
s3_build_cache_access_key_id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
|
||||
s3_build_cache_secret_key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
|
||||
subcommand: connectors ${{ env.USE_LOCAL_CDK_FLAG }} --name ${{ github.event.inputs.connector_name }} test --only-step connector_live_tests --connector_live_tests.test-suite=regression --connector_live_tests.connection-id=${{ github.event.inputs.connection_id }} --connector_live_tests.pr-url=${{ github.event.inputs.pr_url }} ${{ env.READ_WITH_STATE_FLAG }} ${{ env.DISABLE_PROXY_FLAG }} ${{ env.STREAM_PARAMS }} ${{ env.CONNECTION_SUBSET }} ${{ env.CONTROL_VERSION }} --global-status-check-context="Regression Tests" --global-status-check-description='Running regression tests'
|
||||
subcommand: connectors ${{ env.USE_LOCAL_CDK_FLAG }} ${{ inputs.connector_filter }} test --only-step connector_live_tests --connector_live_tests.test-suite=regression --connector_live_tests.connection-id=${{ github.event.inputs.connection_id }} --connector_live_tests.pr-url="https://github.com/airbytehq/airbyte/pull/${{ github.event.inputs.pr }}" ${{ env.READ_WITH_STATE_FLAG }} ${{ env.DISABLE_PROXY_FLAG }} ${{ env.STREAM_PARAMS }} ${{ env.CONNECTION_SUBSET }} ${{ env.CONTROL_VERSION }} --global-status-check-context="Regression Tests" --global-status-check-description='Running regression tests'
|
||||
2
.github/workflows/slash-commands.yml
vendored
2
.github/workflows/slash-commands.yml
vendored
@@ -45,6 +45,8 @@ jobs:
|
||||
publish-java-cdk
|
||||
run-cat-tests
|
||||
run-connector-tests
|
||||
run-live-tests
|
||||
run-regression-tests
|
||||
test-performance
|
||||
update-connector-cdk-version
|
||||
|
||||
|
||||
Reference in New Issue
Block a user