--- /dev/null
+name: Publish
+on:
+ workflow_dispatch:
+jobs:
+ build:
+ name: Build distribution
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v5
+ with:
+ persist-credentials: false
+ - name: Set up Python
+ uses: actions/setup-python@v6
+ with:
+ python-version: "3.x"
+ - name: Install pypa/build
+ run: >-
+ python3 -m
+ pip install
+ build
+ --user
+ - name: Build a binary wheel and a source tarball
+ run: python3 -m build
+ - name: Store the distribution packages
+ uses: actions/upload-artifact@v4
+ with:
+ name: python-package-distributions
+ path: dist/
+
+ publish-to-pypi:
+ name: Publish Python distribution to PyPI
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
+ needs:
+ - build
+ runs-on: ubuntu-latest
+
+ environment:
+ name: pypi
+ url: https://pypi.org/p/dnspython_test
+
+ permissions:
+ id-token: write
+
+ steps:
+ - name: Download all the dists
+ uses: actions/download-artifact@v5
+ with:
+ name: python-package-distributions
+ path: dist/
+ - name: Publish distribution to TestPyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ verbose: true
+
+ # build-test:
+ # name: Build distribution
+ # runs-on: ubuntu-latest
+
+ # steps:
+ # - uses: actions/checkout@v5
+ # with:
+ # persist-credentials: false
+ # - name: Set up Python
+ # uses: actions/setup-python@v6
+ # with:
+ # python-version: "3.x"
+ # - name: Update project
+ # run: python3 ./util/make-test-project
+ # - name: Install pypa/build
+ # run: >-
+ # python3 -m
+ # pip install
+ # build
+ # --user
+ # - name: Build a binary wheel and a source tarball
+ # run: python3 -m build
+ # - name: Store the distribution packages
+ # uses: actions/upload-artifact@v4
+ # with:
+ # name: python-test-package-distributions
+ # path: dist/
+
+ # publish-to-testpypi:
+ # name: Publish Python distribution to TestPyPI
+ # needs:
+ # - build-test
+ # runs-on: ubuntu-latest
+
+ # environment:
+ # name: testpypi
+ # url: https://test.pypi.org/p/dnspython_test
+
+ # permissions:
+ # id-token: write
+
+ # steps:
+ # - name: Download all the dists
+ # uses: actions/download-artifact@v5
+ # with:
+ # name: python-test-package-distributions
+ # path: dist/
+ # - name: Publish distribution to TestPyPI
+ # uses: pypa/gh-action-pypi-publish@release/v1
+ # with:
+ # repository-url: https://test.pypi.org/legacy/
+ # verbose: true
+ # attestations: false
--- /dev/null
+name: Test Publish
+on:
+ workflow_dispatch:
+jobs:
+ build-test:
+ name: Build distribution
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v5
+ with:
+ persist-credentials: false
+ - name: Set up Python
+ uses: actions/setup-python@v6
+ with:
+ python-version: "3.x"
+ - name: Update project
+ run: python3 ./util/make-test-project
+ - name: Install pypa/build
+ run: >-
+ python3 -m
+ pip install
+ build
+ --user
+ - name: Build a binary wheel and a source tarball
+ run: python3 -m build
+ - name: Store the distribution packages
+ uses: actions/upload-artifact@v4
+ with:
+ name: python-test-package-distributions
+ path: dist/
+
+ publish-to-testpypi:
+ name: Publish Python distribution to TestPyPI
+ if: startsWith(github.ref, 'refs/tags/') # only publish on tag pushes
+ needs:
+ - build-test
+ runs-on: ubuntu-latest
+
+ environment:
+ name: testpypi
+ url: https://test.pypi.org/p/dnspython_test
+
+ permissions:
+ id-token: write
+
+ steps:
+ - name: Download all the dists
+ uses: actions/download-artifact@v5
+ with:
+ name: python-test-package-distributions
+ path: dist/
+ - name: Publish distribution to TestPyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ repository-url: https://test.pypi.org/legacy/
+ verbose: true
+ attestations: false
+