You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- name: Check reproducible requirements are up to date
52
+
run: make update-reproducible-reqs-uv
53
+
- name: Fail if requirements are out of date
54
+
run: |
55
+
if ! git diff --quiet requirements/reproducible-*.txt; then
56
+
echo "::error::Reproducible requirements are out of date. Please run 'make update-reproducible-reqs' locally and commit the changes before raising a PR."
Copy file name to clipboardExpand all lines: DEVELOPMENT_GUIDE.md
+7-10Lines changed: 7 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -152,7 +152,7 @@ all changes you make to the SAM Transformer locally are immediately picked up fo
152
152
pip install -e .
153
153
```
154
154
155
-
Move back to your SAM CLI directory and re-run init, If necessary: open requirements/base.txt and replace the version number of aws-sam-translator with the ``version number`` specified in your local version of `serverless-application-model/samtranslator/__init__.py`
155
+
Move back to your SAM CLI directory and re-run init, If necessary: open `pyproject.toml` and replace the version number of `aws-sam-translator` in the `[project].dependencies` list with the ``version number`` specified in your local version of `serverless-application-model/samtranslator/__init__.py`
156
156
157
157
```sh
158
158
# Make sure you are back to your SAM CLI directory
@@ -341,23 +341,20 @@ conventions are best practices that we have learnt over time.
341
341
342
342
### Dependency Updates
343
343
344
-
Please update all the required files if the changes involve a version update on a dependency or to include a new dependency. The requirements files are located inside the `requirements` folder.
344
+
Please update all the required files if the changes involve a version update on a dependency or to include a new dependency.
345
345
346
-
#### base.txt for SAM CLI code dependencies
347
-
For dependencies used in SAM CLI code, update `base.txt`in `requirements` folder. To update `base.txt` file, simply follow the current convention and input the dependency name plus version, together with any necessary comment. For more information on the operators to be used for restricting compatible versions, read on [python's enhancement proposals](https://peps.python.org/pep-0440/#compatible-release).
346
+
#### pyproject.toml for SAM CLI code dependencies
347
+
All runtime and development dependencies are declared in `pyproject.toml` at the project root. Runtime dependencies go in `[project].dependencies` and test/dev dependencies go in `[project.optional-dependencies].dev`. Simply follow the current convention and input the dependency name plus version, together with any necessary comment. For more information on the operators to be used for restricting compatible versions, read on [python's enhancement proposals](https://peps.python.org/pep-0440/#compatible-release).
348
348
349
349
#### reproducible-linux.txt for SAM CLI code dependencies
350
-
For dependencies used in SAM CLI code, also remember to update`reproducible-linux.txt` in `requirements` folder and `THIRD-PARTY-LICENSES` in `installer/assets` folder. To update the `reproducible-linux.txt`, run the following script to replace the file:
350
+
For dependencies used in SAM CLI code, also remember to update`reproducible-linux.txt` in `requirements` folder and `THIRD-PARTY-LICENSES` in `installer/assets` folder. To update the reproducible requirements, run the following script to regenerate the files:
351
351
```
352
352
make update-reproducible-reqs
353
353
```
354
-
Note that this is a fully auto-generated file, any manual changes to reproducible-linux.txt will not last after the next update running the above script. As for updating the `THIRD-PARTY-LICENSES`, find the corresponding dependency entry in the license file (usually grouped by licensing organization) and update the versions. For adding a new dependency, look up for its licensing organization through PyPi and update the corresponding section. If the license is from GNU or another license type not included in the file, please contact the repository maintainers first. If you are not familiar with working with this file, please contact one of the repository maintainers or cut an issue to help with the update.
355
-
356
-
#### dev.txt for SAM CLI test dependencies
357
-
For changing dependencies used for `make pr` checks and test related dependencies, update `dev.txt` in `requirements` folder only.
354
+
Note that these are fully auto-generated files, any manual changes to reproducible-*.txt will not last after the next update running the above script. As for updating the `THIRD-PARTY-LICENSES`, find the corresponding dependency entry in the license file (usually grouped by licensing organization) and update the versions. For adding a new dependency, look up for its licensing organization through PyPi and update the corresponding section. If the license is from GNU or another license type not included in the file, please contact the repository maintainers first. If you are not familiar with working with this file, please contact one of the repository maintainers or cut an issue to help with the update.
358
355
359
356
#### pyinstaller-build.txt for SAM CLI native installer build dependencies
360
-
For changing Python dependencies needed for creating builds through Pyinstaller (to run `build-mac.sh` or `build-linux.sh` in `installer/pyinstaller` folder), modify `pyinstaller-build.txt`.
357
+
For changing Python dependencies needed for creating builds through Pyinstaller (to run `build-mac.sh` or `build-linux.sh` in `installer/pyinstaller` folder), modify `pyinstaller-build.txt` in the `requirements` folder.
0 commit comments