mirror of
https://github.com/apache/airflow.git
synced 2026-03-26 15:28:46 +00:00
368 lines
14 KiB
YAML
368 lines
14 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
---
|
|
name: Special tests
|
|
on: # yamllint disable-line rule:truthy
|
|
workflow_call:
|
|
inputs:
|
|
runners:
|
|
description: "The array of labels (in json form) determining runners."
|
|
required: true
|
|
type: string
|
|
platform:
|
|
description: "Platform for the build - 'linux/amd64' or 'linux/arm64'"
|
|
required: true
|
|
type: string
|
|
default-branch:
|
|
description: "The default branch for the repository"
|
|
required: true
|
|
type: string
|
|
core-test-types-list-as-strings-in-json:
|
|
description: "The list of core test types to run separated by spaces"
|
|
required: true
|
|
type: string
|
|
providers-test-types-list-as-strings-in-json:
|
|
description: "The list of providers test types to run separated by spaces"
|
|
required: true
|
|
type: string
|
|
run-coverage:
|
|
description: "Whether to run coverage or not (true/false)"
|
|
required: true
|
|
type: string
|
|
default-python-version:
|
|
description: "Which version of python should be used by default"
|
|
required: true
|
|
type: string
|
|
excluded-providers-as-string:
|
|
description: "Excluded providers (per Python version) as json string"
|
|
required: true
|
|
type: string
|
|
python-versions:
|
|
description: "The list of python versions (stringified JSON array) to run the tests on."
|
|
required: true
|
|
type: string
|
|
default-postgres-version:
|
|
description: "The default version of the postgres to use"
|
|
required: true
|
|
type: string
|
|
canary-run:
|
|
description: "Whether to run canary tests or not (true/false)"
|
|
required: true
|
|
type: string
|
|
upgrade-to-newer-dependencies:
|
|
description: "Whether to upgrade to newer dependencies or not (true/false)"
|
|
required: true
|
|
type: string
|
|
include-success-outputs:
|
|
description: "Whether to include success outputs or not (true/false)"
|
|
required: true
|
|
type: string
|
|
debug-resources:
|
|
description: "Whether to debug resources or not (true/false)"
|
|
required: true
|
|
type: string
|
|
skip-providers-tests:
|
|
description: "Whether to skip providers tests or not (true/false)"
|
|
required: true
|
|
type: string
|
|
use-uv:
|
|
description: "Whether to use uv or not (true/false)"
|
|
required: true
|
|
type: string
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
tests-min-sqlalchemy:
|
|
name: "Min SQLAlchemy test: core"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
downgrade-sqlalchemy: "true"
|
|
test-name: "MinSQLAlchemy-Postgres"
|
|
test-scope: "DB"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-min-sqlalchemy-providers:
|
|
name: "Min SQLAlchemy test: providers"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
downgrade-sqlalchemy: "true"
|
|
test-name: "MinSQLAlchemy-Postgres"
|
|
test-scope: "DB"
|
|
test-group: "providers"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.providers-test-types-list-as-strings-in-json }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-latest-sqlalchemy:
|
|
name: "Latest SQLAlchemy test: core"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
upgrade-sqlalchemy: "true"
|
|
test-name: "LatestSQLAlchemy-Postgres"
|
|
test-scope: "DB"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-latest-sqlalchemy-providers:
|
|
name: "Latest SQLAlchemy test: providers"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
upgrade-sqlalchemy: "true"
|
|
test-name: "LatestSQLAlchemy-Postgres"
|
|
test-scope: "DB"
|
|
test-group: "providers"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.providers-test-types-list-as-strings-in-json }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-boto-core:
|
|
name: "Latest Boto test: core"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
upgrade-boto: "true"
|
|
test-name: "LatestBoto-Postgres"
|
|
test-scope: "All"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-boto-providers:
|
|
name: "Latest Boto test: providers"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
upgrade-boto: "true"
|
|
test-name: "LatestBoto-Postgres"
|
|
test-scope: "All"
|
|
test-group: "providers"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.providers-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-pendulum-2-core:
|
|
name: "Pendulum2 test: core"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
downgrade-pendulum: "true"
|
|
test-name: "Pendulum2-Postgres"
|
|
test-scope: "All"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-pendulum-2-providers:
|
|
name: "Pendulum2 test: providers"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
downgrade-pendulum: "true"
|
|
test-name: "Pendulum2-Postgres"
|
|
test-scope: "All"
|
|
test-group: "providers"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.providers-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-quarantined-core:
|
|
name: "Quarantined test: core"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
test-name: "Postgres"
|
|
test-scope: "Quarantined"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-quarantined-providers:
|
|
name: "Quarantined test: providers"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
test-name: "Postgres"
|
|
test-scope: "Quarantined"
|
|
test-group: "providers"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.providers-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|
|
|
|
tests-system-core:
|
|
name: "System test: ${{ matrix.test-group }}"
|
|
uses: ./.github/workflows/run-unit-tests.yml
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
with:
|
|
runners: ${{ inputs.runners }}
|
|
platform: ${{ inputs.platform }}
|
|
test-name: "SystemTest"
|
|
test-scope: "System"
|
|
test-group: "core"
|
|
backend: "postgres"
|
|
python-versions: "['${{ inputs.default-python-version }}']"
|
|
backend-versions: "['${{ inputs.default-postgres-version }}']"
|
|
excluded-providers-as-string: ${{ inputs.excluded-providers-as-string }}
|
|
excludes: "[]"
|
|
test-types-as-strings-in-json: ${{ inputs.core-test-types-list-as-strings-in-json }}
|
|
include-success-outputs: ${{ inputs.include-success-outputs }}
|
|
run-coverage: ${{ inputs.run-coverage }}
|
|
debug-resources: ${{ inputs.debug-resources }}
|
|
skip-providers-tests: ${{ inputs.skip-providers-tests }}
|
|
use-uv: ${{ inputs.use-uv }}
|
|
default-branch: ${{ inputs.default-branch }}
|