sjyangkevin commented on code in PR #76957: URL: https://github.com/apache/airflow/pull/76957#discussion_r4559216872
########## .github/workflows/test-providers-branch-tip.yml: ########## @@ -0,0 +1,254 @@ +# 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. +# +--- +# Runs the provider tests from main against Airflow built from the tips of the release branches, the +# code of the next Airflow release before it is released. The compatibility tests of +# `test-providers.yml` only cover released versions from PyPI. +# +# Each branch tip is resolved to one commit for the whole run, and built into wheels once, the way a +# release is built (with the compiled UI). The test jobs install those wheels from `dist`, so the resolver +# cannot replace them with a released Airflow of the same version number. +name: Provider branch tip compatibility tests + +permissions: + contents: read +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 + latest-release: + description: > + JSON object of the latest Airflow release in the compatibility matrix (airflow-version, + python-version, remove-providers). The vX-Y-test branches from its X.Y on are tested. + required: true + type: string + providers-test-types-list-as-strings-in-json: + description: "List of parallel provider test types as string" + required: true + type: string + use-uv: + description: "Whether to use uv to build the image (true/false)" + required: true + type: string + +jobs: + find-branch-tips: + name: "Find release branch tips" + runs-on: ["ubuntu-slim"] + outputs: + targets: ${{ steps.find.outputs.targets }} + steps: + - name: "Resolve the release branches from the latest release on to their current commits" + id: find + env: + LATEST_RELEASE: ${{ inputs.latest-release }} + GH_TOKEN: ${{ github.token }} + REPOSITORY: ${{ github.repository }} Review Comment: Thanks for the feedback. Updated in `ea2ec7f4d2`. Reading from `apache/airflow` also lets the lookup fail when it finds nothing. The branch of the latest release in the matrix and its constraints branch always exist there, so not finding them means the lookup is broken. Before, the job passed and tested nothing. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
