AcademySoftwareFoundation / AcademySoftwareFoundation/rez
packages released after a timestamp still get validated when using the timestamp option in rez-env
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 369
- Avg merge
- 12d 3h
- Merged PRs (30d)
- 5
Description
We have some production enviroments that are locked in time using `-t TIMESTAMP` in order not to get any new package version released after that date. Those environments are also locked using `rez-2.0.X`
We have now released some packages using the new features of rez (i.e late binding) available in `rez-2.8+`
I assumed those new packages will be ignored when using `-t` because they were released after ` TIMESTAMP`. But the reality is that those resolves are failing because rez validates those packages even they will never be in the resolve.
We tried bumping the `config_version` of those packages but `rez-2.0.x` still sees them and erros out with
```
File "/film/tools/packages/rez/2.0.rc1.34.1/CentOS-6.2_thru_7/python-2.7/lib/python2.7/site-packages/rez-2.0.rc1.34.1-py2.7.egg/rez/serialise.py", line 114, in _load_file
result = load_func(f, filepath=filepath)
File "/film/tools/packages/rez/2.0.rc1.34.1/CentOS-6.2_thru_7/python-2.7/lib/python2.7/site-packages/rez-2.0.rc1.34.1-py2.7.egg/rez/serialise.py", line 151, in load_py
raise ResourceError(msg)
rez.exceptions.ResourceError: name 'late' is not defined:
```
Is there any way around this? I mean having 2 versions of rez used in the floor (1 locked in time i.e `rez-2.0`), and packages that use features that are only supported in the other version (i.e `rez-2.8.0`)
Contributor guide
Research direction
Start at the rez-env entry point and reproduce the timestamped resolve with an older Rez version alongside packages using newer features such as late binding. Trace when packages released after TIMESTAMP are validated or loaded; done means those packages are ignored without the older Rez version failing on unsupported package syntax.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100