diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml new file mode 100644 index 0000000000..9cb2e6c81a --- /dev/null +++ b/.github/workflows/test-release.yml @@ -0,0 +1,45 @@ +### DO NOT MERGE +### tests build of pdm with pdm-build-locked + +name: Release + +on: + pull_request: + branches: + - main + +jobs: + release-pypi: + name: release-pypi + runs-on: ubuntu-latest + permissions: + id-token: write + contents: write + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: pip + + - name: Check prerelease + id: check_version + run: | + if [[ "${{ github.ref }}" =~ ^refs/tags/[0-9.]+$ ]]; then + echo "PRERELEASE=false" >> $GITHUB_OUTPUT + else + echo "PRERELEASE=true" >> $GITHUB_OUTPUT + fi + + - name: Build artifacts + run: | + pip install . + pdm install --plugins + pdm build + + - name: Test Build + run: | + python -m pip install dist/*.whl + pdm --help diff --git a/news/3001.feature.md b/news/3001.feature.md new file mode 100644 index 0000000000..6b10d816bd --- /dev/null +++ b/news/3001.feature.md @@ -0,0 +1,17 @@ +PDM is now published with optional pinned dependencies using the pdm plugin [pdm-build-locked](https://pdm-build-locked.readthedocs.io/). + +To install pdm with its dependencies pinned to the versions it was tested with, run: + +```bash + + pipx install pdm[locked] +``` + +To install optional dependency group copier: + +```bash + + pipx install pdm[locked,copier-locked] +``` + +This feature is entirely optional. Installing pdm without the extra will work the same way as before this change.