# This pipeline aims at building Glances Pypi packages name: build on: workflow_call: jobs: build: name: Build distribution 📦 runs-on: ubuntu-latest timeout-minutes: 10 permissions: contents: read steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.14" - 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: python-package-distributions path: dist/ pypi: name: Publish Python 🐍 distribution 📦 to PyPI if: startsWith(github.ref, 'refs/tags') needs: - build runs-on: ubuntu-latest timeout-minutes: 5 environment: name: pypi url: https://pypi.org/p/glances permissions: attestations: write id-token: write steps: - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Publish distribution 📦 to PyPI uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1 with: skip-existing: true attestations: false print-hash: true pypi_test: name: Publish Python 🐍 distribution 📦 to TestPyPI if: github.ref == 'refs/heads/develop' needs: - build runs-on: ubuntu-latest timeout-minutes: 5 environment: name: testpypi url: https://pypi.org/p/glances permissions: attestations: write id-token: write steps: - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Publish distribution 📦 to TestPyPI uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1 with: repository-url: https://test.pypi.org/legacy/ skip-existing: true attestations: false