File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed
Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ import sys
2+ import tomllib
3+
4+ if __name__ == "__main__" :
5+ # Get the TOML file path from the command line argument
6+ toml_file = sys .argv [1 ]
7+
8+ # read toml file
9+ with open (toml_path , "rb" ) as file :
10+ toml_data = tomllib .load (file )
11+
12+ # see if we're releasing an rc
13+ version = toml_data ["tool" ]["poetry" ]["version" ]
14+ releasing_rc = "rc" in version
15+
16+ # if not, iterate through dependencies and make sure none allow prereleases
17+ if not releasing_rc :
18+ dependencies = toml_data ["tool" ]["poetry" ]["dependencies" ]
19+ for lib in dependencies :
20+ dep_version = dependencies [lib ]
21+ dep_version_string = (
22+ dep_version ["version" ] if isinstance (dep_version , dict ) else dep_version
23+ )
24+
25+ if "rc" in dep_version_string :
26+ raise ValueError (
27+ f"Dependency { lib } has a prerelease version. Please remove this."
28+ )
29+
30+ if isinstance (dep_version , dict ) and dep_version .get (
31+ "allow-prereleases" , False
32+ ):
33+ raise ValueError (
34+ f"Dependency { lib } has allow-prereleases set to true. Please remove this."
35+ )
Original file line number Diff line number Diff line change @@ -221,6 +221,11 @@ jobs:
221221 run : make tests
222222 working-directory : ${{ inputs.working-directory }}
223223
224+ - name : Check for prerelease versions
225+ working-directory : ${{ inputs.working-directory }}
226+ run : |
227+ poetry run python $GITHUB_WORKSPACE/.github/scripts/check_prerelease_dependencies.py pyproject.toml
228+
224229 - name : Get minimum versions
225230 working-directory : ${{ inputs.working-directory }}
226231 id : min-version
You can’t perform that action at this time.
0 commit comments