kaxil commented on a change in pull request #11541:
URL: https://github.com/apache/airflow/pull/11541#discussion_r507188582



##########
File path: .github/workflows/ci.yml
##########
@@ -70,68 +70,97 @@ jobs:
       GITHUB_CONTEXT: ${{ toJson(github) }}
     outputs:
       waitForImage: ${{ steps.wait-for-image.outputs.wait-for-image }}
-      pythonVersions: ${{ steps.selective-tests.outputs.python-versions }}
-      defaultPythonVersion: ${{ 
steps.selective-tests.outputs.default-python-version }}
-      kubernetesVersions: ${{ 
steps.selective-tests.outputs.kubernetes-versions }}
-      defaultKubernetesVersion: ${{ 
steps.selective-tests.outputs.default-kubernetes-version }}
-      kubernetesModes: ${{ steps.selective-tests.outputs.kubernetes-modes }}
-      defaultKubernetesMode: ${{ 
steps.selective-tests.outputs.default-kubernetes-mode }}
-      postgresVersions: ${{ steps.selective-tests.outputs.postgres-versions }}
-      defaultPostgresVersion: ${{ 
steps.selective-tests.outputs.default-postgres-version }}
-      mysqlVersions: ${{ steps.selective-tests.outputs.mysql-versions }}
-      defaultMySQLVersion: ${{ 
steps.selective-tests.outputs.default-mysql-version }}
-      helmVersions: ${{ steps.selective-tests.outputs.helm-versions }}
-      defaultHelmVersion: ${{ 
steps.selective-tests.outputs.default-helm-version }}
-      kindVersions: ${{ steps.selective-tests.outputs.kind-versions }}
-      defaultKindVersion: ${{ 
steps.selective-tests.outputs.default-kind-version }}
-      testTypes: ${{ steps.selective-tests.outputs.test-types }}
-      postgresExclude: ${{ steps.selective-tests.outputs.postgres-exclude }}
-      mysqlExclude: ${{ steps.selective-tests.outputs.mysql-exclude }}
-      sqliteExclude: ${{ steps.selective-tests.outputs.sqlite-exclude }}
-      kubernetesExclude: ${{ steps.selective-tests.outputs.kubernetes-exclude 
}}
-      run-tests: ${{ steps.selective-tests.outputs.run-tests }}
-      run-kubernetes-tests: ${{ 
steps.selective-tests.outputs.run-kubernetes-tests }}
+      pythonVersions: ${{ steps.selective-checks.outputs.python-versions }}
+      defaultPythonVersion: ${{ 
steps.selective-checks.outputs.default-python-version }}
+      kubernetesVersions: ${{ 
steps.selective-checks.outputs.kubernetes-versions }}
+      defaultKubernetesVersion: ${{ 
steps.selective-checks.outputs.default-kubernetes-version }}
+      kubernetesModes: ${{ steps.selective-checks.outputs.kubernetes-modes }}
+      defaultKubernetesMode: ${{ 
steps.selective-checks.outputs.default-kubernetes-mode }}
+      postgresVersions: ${{ steps.selective-checks.outputs.postgres-versions }}
+      defaultPostgresVersion: ${{ 
steps.selective-checks.outputs.default-postgres-version }}
+      mysqlVersions: ${{ steps.selective-checks.outputs.mysql-versions }}
+      defaultMySQLVersion: ${{ 
steps.selective-checks.outputs.default-mysql-version }}
+      helmVersions: ${{ steps.selective-checks.outputs.helm-versions }}
+      defaultHelmVersion: ${{ 
steps.selective-checks.outputs.default-helm-version }}
+      kindVersions: ${{ steps.selective-checks.outputs.kind-versions }}
+      defaultKindVersion: ${{ 
steps.selective-checks.outputs.default-kind-version }}
+      testTypes: ${{ steps.selective-checks.outputs.test-types }}
+      postgresExclude: ${{ steps.selective-checks.outputs.postgres-exclude }}
+      mysqlExclude: ${{ steps.selective-checks.outputs.mysql-exclude }}
+      sqliteExclude: ${{ steps.selective-checks.outputs.sqlite-exclude }}
+      kubernetesExclude: ${{ steps.selective-checks.outputs.kubernetes-exclude 
}}
+      run-tests: ${{ steps.selective-checks.outputs.run-tests }}
+      run-kubernetes-tests: ${{ 
steps.selective-checks.outputs.run-kubernetes-tests }}
+      basic-checks-only: ${{ steps.selective-checks.outputs.basic-checks-only 
}}
+      needs-helm-tests: ${{ steps.selective-checks.outputs.needs-helm-tests }}
+      needs-api-tests: ${{ steps.selective-checks.outputs.needs-api-tests }}
     if: github.repository == 'apache/airflow' || github.event_name != 
'schedule'
     steps:
-      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+      # First fetch the sha of merge commit in case it is pull request so that 
we can
+      # Run selective tests
+      - name: >
+          Fetch merge commit ${{ github.ref }} ( ${{ github.sha }}:
+          merge_commit ${{ github.event.pull_request.merge_commit_sha }} )"
+        uses: actions/checkout@v2
+        with:
+          ref: ${{ github.event.pull_request.merge_commit_sha }}
+          fetch-depth: 2
+        if: github.event_name  == 'pull_request'
+      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} : merge commit 
${{ github.merge_commit_sha }} )"
         uses: actions/checkout@v2
       - name: >
           Event: ${{ github.event_name }}
           Repo: ${{ github.repository }}
           Branch: ${{ github.head_ref }}
           Run id: ${{ github.run_id }}
           Sha: ${{ github.sha }}
+          Merge commit sha: ${{ github.merge_commit_sha }}
           Ref: ${{ github.ref }}
         run: printenv
       - name: Set wait for image
         id: wait-for-image
         run: |
-          if [[ ${GITHUB_REGISTRY_WAIT_FOR_IMAGE} == "true" ]]; then
+          if [[ ${GITHUB_REGISTRY_WAIT_FOR_IMAGE} == 'true' ]]; then

Review comment:
       ```suggestion
             if [[ "${GITHUB_REGISTRY_WAIT_FOR_IMAGE}" == 'true' ]]; then
   ```
   
   not strictly needed 

##########
File path: .github/workflows/ci.yml
##########
@@ -70,68 +70,97 @@ jobs:
       GITHUB_CONTEXT: ${{ toJson(github) }}
     outputs:
       waitForImage: ${{ steps.wait-for-image.outputs.wait-for-image }}
-      pythonVersions: ${{ steps.selective-tests.outputs.python-versions }}
-      defaultPythonVersion: ${{ 
steps.selective-tests.outputs.default-python-version }}
-      kubernetesVersions: ${{ 
steps.selective-tests.outputs.kubernetes-versions }}
-      defaultKubernetesVersion: ${{ 
steps.selective-tests.outputs.default-kubernetes-version }}
-      kubernetesModes: ${{ steps.selective-tests.outputs.kubernetes-modes }}
-      defaultKubernetesMode: ${{ 
steps.selective-tests.outputs.default-kubernetes-mode }}
-      postgresVersions: ${{ steps.selective-tests.outputs.postgres-versions }}
-      defaultPostgresVersion: ${{ 
steps.selective-tests.outputs.default-postgres-version }}
-      mysqlVersions: ${{ steps.selective-tests.outputs.mysql-versions }}
-      defaultMySQLVersion: ${{ 
steps.selective-tests.outputs.default-mysql-version }}
-      helmVersions: ${{ steps.selective-tests.outputs.helm-versions }}
-      defaultHelmVersion: ${{ 
steps.selective-tests.outputs.default-helm-version }}
-      kindVersions: ${{ steps.selective-tests.outputs.kind-versions }}
-      defaultKindVersion: ${{ 
steps.selective-tests.outputs.default-kind-version }}
-      testTypes: ${{ steps.selective-tests.outputs.test-types }}
-      postgresExclude: ${{ steps.selective-tests.outputs.postgres-exclude }}
-      mysqlExclude: ${{ steps.selective-tests.outputs.mysql-exclude }}
-      sqliteExclude: ${{ steps.selective-tests.outputs.sqlite-exclude }}
-      kubernetesExclude: ${{ steps.selective-tests.outputs.kubernetes-exclude 
}}
-      run-tests: ${{ steps.selective-tests.outputs.run-tests }}
-      run-kubernetes-tests: ${{ 
steps.selective-tests.outputs.run-kubernetes-tests }}
+      pythonVersions: ${{ steps.selective-checks.outputs.python-versions }}
+      defaultPythonVersion: ${{ 
steps.selective-checks.outputs.default-python-version }}
+      kubernetesVersions: ${{ 
steps.selective-checks.outputs.kubernetes-versions }}
+      defaultKubernetesVersion: ${{ 
steps.selective-checks.outputs.default-kubernetes-version }}
+      kubernetesModes: ${{ steps.selective-checks.outputs.kubernetes-modes }}
+      defaultKubernetesMode: ${{ 
steps.selective-checks.outputs.default-kubernetes-mode }}
+      postgresVersions: ${{ steps.selective-checks.outputs.postgres-versions }}
+      defaultPostgresVersion: ${{ 
steps.selective-checks.outputs.default-postgres-version }}
+      mysqlVersions: ${{ steps.selective-checks.outputs.mysql-versions }}
+      defaultMySQLVersion: ${{ 
steps.selective-checks.outputs.default-mysql-version }}
+      helmVersions: ${{ steps.selective-checks.outputs.helm-versions }}
+      defaultHelmVersion: ${{ 
steps.selective-checks.outputs.default-helm-version }}
+      kindVersions: ${{ steps.selective-checks.outputs.kind-versions }}
+      defaultKindVersion: ${{ 
steps.selective-checks.outputs.default-kind-version }}
+      testTypes: ${{ steps.selective-checks.outputs.test-types }}
+      postgresExclude: ${{ steps.selective-checks.outputs.postgres-exclude }}
+      mysqlExclude: ${{ steps.selective-checks.outputs.mysql-exclude }}
+      sqliteExclude: ${{ steps.selective-checks.outputs.sqlite-exclude }}
+      kubernetesExclude: ${{ steps.selective-checks.outputs.kubernetes-exclude 
}}
+      run-tests: ${{ steps.selective-checks.outputs.run-tests }}
+      run-kubernetes-tests: ${{ 
steps.selective-checks.outputs.run-kubernetes-tests }}
+      basic-checks-only: ${{ steps.selective-checks.outputs.basic-checks-only 
}}
+      needs-helm-tests: ${{ steps.selective-checks.outputs.needs-helm-tests }}
+      needs-api-tests: ${{ steps.selective-checks.outputs.needs-api-tests }}
     if: github.repository == 'apache/airflow' || github.event_name != 
'schedule'
     steps:
-      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+      # First fetch the sha of merge commit in case it is pull request so that 
we can
+      # Run selective tests
+      - name: >
+          Fetch merge commit ${{ github.ref }} ( ${{ github.sha }}:
+          merge_commit ${{ github.event.pull_request.merge_commit_sha }} )"
+        uses: actions/checkout@v2
+        with:
+          ref: ${{ github.event.pull_request.merge_commit_sha }}
+          fetch-depth: 2
+        if: github.event_name  == 'pull_request'
+      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} : merge commit 
${{ github.merge_commit_sha }} )"
         uses: actions/checkout@v2
       - name: >
           Event: ${{ github.event_name }}
           Repo: ${{ github.repository }}
           Branch: ${{ github.head_ref }}
           Run id: ${{ github.run_id }}
           Sha: ${{ github.sha }}
+          Merge commit sha: ${{ github.merge_commit_sha }}
           Ref: ${{ github.ref }}
         run: printenv
       - name: Set wait for image
         id: wait-for-image
         run: |
-          if [[ ${GITHUB_REGISTRY_WAIT_FOR_IMAGE} == "true" ]]; then
+          if [[ ${GITHUB_REGISTRY_WAIT_FOR_IMAGE} == 'true' ]]; then
               echo "::set-output name=wait-for-image::true"
           else
               echo "::set-output name=wait-for-image::false"
           fi
-      - name: Selective tests
-        id: selective-tests
-        run: ./scripts/ci/selective_tests.sh
+      - name: Selective checks
+        id: selective-checks
+        env:
+          EVENT_NAME: ${{ github.event_name }}
+          MERGE_COMMIT_SHA: ${{ github.event.pull_request.merge_commit_sha }}
+        run: |
+          if [[ ${EVENT_NAME} == "pull_request" ]]; then

Review comment:
       ```suggestion
             if [[ "${EVENT_NAME}" == "pull_request" ]]; then
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to