ambitious-student-81104
09/01/2021, 8:48 PMconstraints.txt
does not include all the requirements, and now we have a master set of constraints. but why do we still see so many pytest runner pexes being build? (see inside thread)ambitious-student-81104
09/01/2021, 8:48 PM15:08:41.57 [INFO] Completed: Extracting 10 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, future==0.18.2, pyyaml==5.4.1, setuptools<56... (99 characters truncated)
15:08:41.59 [INFO] Completed: Extracting 8 requirements to build requirements.pex from repository.pex: apache-airflow==2.1.2, future==0.18.2, pyyaml==5.4.1, setuptools<56.0,>=50.3.0, snowflake-sqlalchemy==1.2.3, sqlalchemy==1.3.24... (39 characters truncated)
15:08:41.61 [INFO] Completed: Extracting 11 requirements to build requirements.pex from repository.pex: apache-airflow==2.1.2, future==0.18.2, gspread==4.0.0, oauth2client==4.1.3, pandas<1.3.0,>=1.2.3, pyyaml==5.4.1, setuptools<56... (99 characters truncated)
15:08:41.76 [INFO] Completed: Extracting 17 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, future==0.18.2, pyodbc==4.0.30, pyyaml==5.4.... (244 characters truncated)
15:08:41.84 [INFO] Completed: Extracting 18 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, confluent-kafka==1.4.2, future==0.18.2, pyod... (268 characters truncated)
15:08:42.23 [INFO] Completed: Extracting 20 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, future==0.18.2, gspread==4.0.0, oauth2client... (303 characters truncated)
15:08:42.28 [INFO] Completed: Extracting 18 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow-providers-postgres==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, fu... (286 characters truncated)
15:08:42.28 [INFO] Completed: Extracting 12 requirements to build requirements.pex from repository.pex: apache-airflow==2.1.2, future==0.18.2, gspread==4.0.0, oauth2client==4.1.3, pandas<1.3.0,>=1.2.3, psycopg2-binary==2.9.1, pyya... (123 characters truncated)
15:08:43.77 [INFO] Completed: Extracting 21 requirements to build requirements.pex from repository.pex: apache-airflow-providers-amazon==2.1.0, apache-airflow==2.1.2, cachetools==4.1.1, confluent-kafka==1.4.2, distributed==2021.7.... (337 characters truncated)
15:08:53.73 [INFO] Completed: Extracting 13 requirements to build requirements.pex from repository.pex: dagit==0.12.8, dagster-aws==0.12.8, dagster-pyspark==0.12.8, dagster==0.12.8, grpcio<2.0,>=1.39.0, pandas<1.3.0,>=1.2.3, pyspa... (133 characters truncated)
15:08:53.78 [INFO] Completed: Extracting 13 requirements to build requirements.pex from repository.pex: dagit==0.12.8, dagster-aws==0.12.8, dagster-pyspark==0.12.8, dagster==0.12.8, grpcio<2.0,>=1.39.0, pandas<1.3.0,>=1.2.3, pyspa... (136 characters truncated)
ambitious-student-81104
09/01/2021, 8:48 PMExtracting 13 requirements to build requirements.pex from repository.pex
Would it be faster if repository.pex is just used for all these tasks?hundreds-father-404
09/01/2021, 8:52 PMhappy-kitchen-89482
09/01/2021, 9:32 PMExtracting 13 requirements to build requirements.pex from repository.pex
should be really fast, because they're not running any pip resolves, they're just subsetting the full repository.pexhappy-kitchen-89482
09/01/2021, 9:32 PMhappy-kitchen-89482
09/01/2021, 9:32 PMhappy-kitchen-89482
09/01/2021, 9:32 PMhappy-kitchen-89482
09/01/2021, 9:33 PMrepository.pex
as you suggest, for cases where that yields better performance.happy-kitchen-89482
09/01/2021, 9:33 PMhappy-kitchen-89482
09/01/2021, 9:33 PMhappy-kitchen-89482
09/01/2021, 9:34 PMhappy-kitchen-89482
09/01/2021, 9:34 PMwitty-crayon-22786
09/01/2021, 9:49 PMwitty-crayon-22786
09/01/2021, 9:50 PMrepository.pex
would result in inconsistencies between test time and binary build time. so if there were an option to use it, it would need to be disabled by defaultwitty-crayon-22786
09/01/2021, 9:51 PMAn alternative to this change would have been to remove the āsubsettingā step entirely, and to directly use the entirein consumers (even if they only used a small fraction of it). But that would have the disadvantage that any change to any requirement would invalidate all consumers in a repository, regardless of whether the requirement was relevant to them, and would additionally violate hermeticity by allowing, for example, `test`s to observe resources that they donāt have dependencies on.repository.pex
witty-crayon-22786
09/01/2021, 9:54 PM./pants test ::
to build only changed code, both locally and in CI, without any manual steps to calculate which targets to run onwitty-crayon-22786
09/01/2021, 9:55 PMwitty-crayon-22786
09/01/2021, 9:55 PMhappy-kitchen-89482
09/02/2021, 3:03 PMhappy-kitchen-89482
09/02/2021, 3:03 PMwitty-crayon-22786
09/02/2021, 7:55 PM2.7.0rc1
is out, and is likely stable enough for experimenting with. it makes the subsetting significantly faster/more-space-efficient