Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
GillySpace27 committed Nov 27, 2024
2 parents b848f92 + 0f224d3 commit 5ba5a6d
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 12 deletions.
88 changes: 88 additions & 0 deletions .github/workflows/manual-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# This workflow will upload a Python Package to PyPI when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# This workflow will build and upload a Python package to both Test PyPI and PyPI

name: Upload Python Package

on:
release:
types: [published]

permissions:
contents: read

jobs:
release-build:
runs-on: ubuntu-latest # Use Ubuntu for a robust CI environment

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Set up dependencies
run: |
python -m pip install --upgrade pip
python -m pip install build
- name: Build release distributions
run: |
python -m build
- name: Upload release distributions as artifact
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/

testpypi-publish:
runs-on: ubuntu-latest # Use Ubuntu for consistency

needs:
- release-build

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/

- name: Publish release distributions to Test PyPI
run: |
python -m pip install --upgrade twine
python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}

realpypi-publish:
runs-on: ubuntu-latest # Use Ubuntu for consistency

needs:
- release-build

if: false

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/

- name: Publish release distributions to PyPI
run: |
python -m pip install --upgrade twine
python -m twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
19 changes: 7 additions & 12 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,12 @@ jobs:

needs:
- release-build

if: false

permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing

environment:
name: testpypi
url: https://test.pypi.org/project/pyfitsserver # Replace YOURPROJECTNAME with your actual project name

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
Expand All @@ -57,9 +56,9 @@ jobs:
- name: Publish release distributions to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
env:
password: ${{ secrets.PYPI_PASSWORD }} # Use the secret for Test PyPI
repository-url: https://test.pypi.org/legacy/
packages-dir: dist/

realpypi-publish:
runs-on: ubuntu-latest # Use Ubuntu for consistency
Expand All @@ -72,10 +71,6 @@ jobs:
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing

environment:
name: pypi
url: https://pypi.org/project/pyfitsserver # Replace YOURPROJECTNAME with your actual project name

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
Expand All @@ -86,6 +81,6 @@ jobs:
- name: Publish release distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_PASSWORD_REAL }} # Use the secret for production PyPI
repository-url: https://upload.pypi.org/legacy/
packages-dir: dist/
env:
repository-url: https://upload.pypi.org/legacy/

0 comments on commit 5ba5a6d

Please sign in to comment.