Skip to content

Commit

Permalink
Merge branch 'main' into AIP84-get-assets-queued-events
Browse files Browse the repository at this point in the history
  • Loading branch information
vatsrahul1001 authored Nov 15, 2024
2 parents 2da47e2 + 36e267d commit 2e3a5cb
Show file tree
Hide file tree
Showing 456 changed files with 10,714 additions and 5,286 deletions.
17 changes: 13 additions & 4 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,10 +196,19 @@ jobs:
working-directory: ./clients/python
- name: "Install source version of required packages"
run: |
breeze release-management prepare-provider-packages fab standard common.sql --package-format \
wheel --skip-tag-check --version-suffix-for-pypi dev0
pip install . dist/apache_airflow_providers_fab-*.whl \
dist/apache_airflow_providers_standard-*.whl dist/apache_airflow_providers_common_sql-*.whl
breeze release-management prepare-provider-packages \
fab \
standard \
common.sql \
sqlite \
--package-format wheel \
--skip-tag-check \
--version-suffix-for-pypi dev0
pip install . \
dist/apache_airflow_providers_fab-*.whl \
dist/apache_airflow_providers_standard-*.whl \
dist/apache_airflow_providers_common_sql-*.whl \
dist/apache_airflow_providers_sqlite-*.whl
breeze release-management prepare-task-sdk-package --package-format wheel
pip install ./dist/apache_airflow_task_sdk-*.whl
- name: "Install Python client"
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/check-providers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ on: # yamllint disable-line rule:truthy
description: "Whether to upgrade to newer dependencies"
required: true
type: string
affected-providers-list-as-string:
selected-providers-list-as-string:
description: "List of affected providers as string"
required: false
type: string
Expand All @@ -54,7 +54,7 @@ on: # yamllint disable-line rule:truthy
description: "List of parallel provider test types as string"
required: true
type: string
skip-provider-tests:
skip-providers-tests:
description: "Whether to skip provider tests (true/false)"
required: true
type: string
Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
run: >
breeze release-management prepare-provider-packages --include-not-ready-providers
--version-suffix-for-pypi dev0 --package-format sdist
${{ inputs.affected-providers-list-as-string }}
${{ inputs.selected-providers-list-as-string }}
- name: "Prepare airflow package: sdist"
run: >
breeze release-management prepare-airflow-package
Expand All @@ -187,7 +187,7 @@ jobs:
--providers-constraints-location
/files/constraints-${{env.PYTHON_MAJOR_MINOR_VERSION}}/constraints-source-providers-${{env.PYTHON_MAJOR_MINOR_VERSION}}.txt
--run-in-parallel
if: inputs.affected-providers-list-as-string == ''
if: inputs.selected-providers-list-as-string == ''
- name: "Install affected provider packages and airflow via sdist files"
run: >
breeze release-management install-provider-packages
Expand All @@ -198,7 +198,7 @@ jobs:
--providers-constraints-location
/files/constraints-${{env.PYTHON_MAJOR_MINOR_VERSION}}/constraints-source-providers-${{env.PYTHON_MAJOR_MINOR_VERSION}}.txt
--run-in-parallel
if: inputs.affected-providers-list-as-string != ''
if: inputs.selected-providers-list-as-string != ''

providers-compatibility-checks:
timeout-minutes: 80
Expand All @@ -218,7 +218,7 @@ jobs:
VERSION_SUFFIX_FOR_PYPI: "dev0"
VERBOSE: "true"
CLEAN_AIRFLOW_INSTALLATION: "${{ inputs.canary-run }}"
if: inputs.skip-provider-tests != 'true'
if: inputs.skip-providers-tests != 'true'
steps:
- name: "Cleanup repo"
shell: bash
Expand Down Expand Up @@ -268,7 +268,7 @@ jobs:
Airflow ${{ matrix.airflow-version }}:Python ${{ matrix.python-version }}
if: matrix.run-tests == 'true'
run: >
breeze testing tests --run-in-parallel
breeze testing providers-tests --run-in-parallel
--parallel-test-types "${{ inputs.providers-test-types-list-as-string }}"
--use-packages-from-dist
--package-format wheel
Expand Down
184 changes: 101 additions & 83 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/workflows/helm-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
- name: "Prepare breeze & CI image: ${{inputs.default-python-version}}:${{inputs.image-tag}}"
uses: ./.github/actions/prepare_breeze_and_image
- name: "Helm Unit Tests: ${{ matrix.helm-test-package }}"
run: breeze testing helm-tests --helm-test-package "${{ matrix.helm-test-package }}"
run: breeze testing helm-tests --test-type "${{ matrix.helm-test-package }}"

tests-helm-release:
timeout-minutes: 80
Expand Down
200 changes: 200 additions & 0 deletions .github/workflows/integration-system-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# 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: Integration and system tests
on: # yamllint disable-line rule:truthy
workflow_call:
inputs:
runs-on-as-json-public:
description: "The array of labels (in json form) determining public runners."
required: true
type: string
image-tag:
description: "Tag to set for the image"
required: true
type: string
testable-core-integrations:
description: "The list of testable core integrations as JSON array."
required: true
type: string
testable-providers-integrations:
description: "The list of testable providers integrations as JSON array."
required: true
type: string
run-system-tests:
description: "Run system tests (true/false)"
required: true
type: string
default-postgres-version:
description: "Default version of Postgres to use"
required: true
type: string
default-mysql-version:
description: "Default version of MySQL to use"
required: true
type: string
skip-providers-tests:
description: "Skip provider tests (true/false)"
required: true
type: string
run-coverage:
description: "Run coverage (true/false)"
required: true
type: string
default-python-version:
description: "Which version of python should be used by default"
required: true
type: string
debug-resources:
description: "Debug resources (true/false)"
required: true
type: string
jobs:
tests-core-integration:
timeout-minutes: 130
if: inputs.testable-core-integrations != '[]'
name: "Integration core ${{ matrix.integration }}"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
strategy:
fail-fast: false
matrix:
integration: ${{ fromJSON(inputs.testable-core-integrations) }}
env:
IMAGE_TAG: "${{ inputs.image-tag }}"
BACKEND: "postgres"
BACKEND_VERSION: ${{ inputs.default-postgres-version }}"
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
JOB_ID: "integration-core-${{ matrix.integration }}"
SKIP_PROVIDERS_TESTS: "${{ inputs.skip-providers-tests }}"
ENABLE_COVERAGE: "${{ inputs.run-coverage}}"
DEBUG_RESOURCES: "${{ inputs.debug-resources }}"
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.actor }}
VERBOSE: "true"
steps:
- name: "Cleanup repo"
shell: bash
run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: "Cleanup docker"
run: ./scripts/ci/cleanup_docker.sh
- name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}:${{ inputs.image-tag }}"
uses: ./.github/actions/prepare_breeze_and_image
- name: "Integration: core ${{ matrix.integration }}"
# yamllint disable rule:line-length
run: ./scripts/ci/testing/run_integration_tests_with_retry.sh core "${{ matrix.integration }}"
- name: "Post Tests success"
uses: ./.github/actions/post_tests_success
with:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
python-version: ${{ inputs.default-python-version }}
- name: "Post Tests failure"
uses: ./.github/actions/post_tests_failure
if: failure()

tests-providers-integration:
timeout-minutes: 130
if: inputs.testable-providers-integrations != '[]' && inputs.skip-providers-tests != 'true'
name: "Integration: providers ${{ matrix.integration }}"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
strategy:
fail-fast: false
matrix:
integration: ${{ fromJSON(inputs.testable-providers-integrations) }}
env:
IMAGE_TAG: "${{ inputs.image-tag }}"
BACKEND: "postgres"
BACKEND_VERSION: ${{ inputs.default-postgres-version }}"
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
JOB_ID: "integration-providers-${{ matrix.integration }}"
SKIP_PROVIDERS_TESTS: "${{ inputs.skip-providers-tests }}"
ENABLE_COVERAGE: "${{ inputs.run-coverage}}"
DEBUG_RESOURCES: "${{ inputs.debug-resources }}"
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.actor }}
VERBOSE: "true"
steps:
- name: "Cleanup repo"
shell: bash
run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: "Cleanup docker"
run: ./scripts/ci/cleanup_docker.sh
- name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}:${{ inputs.image-tag }}"
uses: ./.github/actions/prepare_breeze_and_image
- name: "Integration: providers ${{ matrix.integration }}"
run: ./scripts/ci/testing/run_integration_tests_with_retry.sh providers "${{ matrix.integration }}"
- name: "Post Tests success"
uses: ./.github/actions/post_tests_success
with:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
python-version: ${{ inputs.default-python-version }}
- name: "Post Tests failure"
uses: ./.github/actions/post_tests_failure
if: failure()

tests-system:
timeout-minutes: 130
if: inputs.run-system-tests == 'true'
name: "System Tests"
runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }}
env:
IMAGE_TAG: "${{ inputs.image-tag }}"
BACKEND: "postgres"
BACKEND_VERSION: ${{ inputs.default-postgres-version }}"
PYTHON_MAJOR_MINOR_VERSION: "${{ inputs.default-python-version }}"
JOB_ID: "system"
SKIP_PROVIDERS_TESTS: "${{ inputs.skip-providers-tests }}"
ENABLE_COVERAGE: "${{ inputs.run-coverage}}"
DEBUG_RESOURCES: "${{ inputs.debug-resources }}"
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.actor }}
VERBOSE: "true"
steps:
- name: "Cleanup repo"
shell: bash
run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: "Cleanup docker"
run: ./scripts/ci/cleanup_docker.sh
- name: "Prepare breeze & CI image: ${{ inputs.default-python-version }}:${{ inputs.image-tag }}"
uses: ./.github/actions/prepare_breeze_and_image
- name: "System Tests"
run: >
./scripts/ci/testing/run_system_tests.sh
tests/system/example_empty.py providers/tests/system/example_empty.py
- name: "Post Tests success"
uses: ./.github/actions/post_tests_success
with:
codecov-token: ${{ secrets.CODECOV_TOKEN }}
python-version: ${{ inputs.default-python-version }}
- name: "Post Tests failure"
uses: ./.github/actions/post_tests_failure
if: failure()
Loading

0 comments on commit 2e3a5cb

Please sign in to comment.