potiuk opened a new pull request, #35439:
URL: https://github.com/apache/airflow/pull/35439
We were always building PROD image when we built CI image on CI as we had
only one flag "build-images" in selective checks. This was based on an
assumption that we want to still run docker compose tests with airflow when any
of our sources change - just to see if it still works.
While "docker-compose" tests are the only end-to-end tests it is very
unlikely that unit and integration tests passing will trigger a docker compose
test failure.
This of course might happen, but if it happens, we will find out during our
canary builds that run all the tests and building PROD image in this case is a
waste of resources and time - waiting for docker-compose tests to complete when
we really do not have to do it makes no sense either. Even if those tests are
relatively quick, just waiting for PROD images being built (PROD images have to
wait for CI images in order to get constraints from CI builds) adds quite a bit
of elapsed test time for many smaller PRs that do not change k8s or Helm in any
way.
This change splits "image-build" into two outputs of selective checks:
ci-image-build and prod-image-build. The CI-image build is the same as before -
we will build CI image whenever any test need to use the image and run our code
(so for example it is false when only README files change). PROD image build is
set to true now only when we need kubernetes tests (i.e. when k8s provider
changes) or when chart changes - because there we want to test basic
functionality of k8s integration and Helm deployment/running.
<!--
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.
-->
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of an existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
<!-- Please keep an empty line above the dashes. -->
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
for more information.
In case of fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in a
newsfragment file, named `{pr_number}.significant.rst` or
`{issue_number}.significant.rst`, in
[newsfragments](https://github.com/apache/airflow/tree/main/newsfragments).
--
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]