diff --git a/.github/scripts/install-conda.sh b/.github/scripts/install-conda.sh index b9ba30249..d2a6e86e1 100755 --- a/.github/scripts/install-conda.sh +++ b/.github/scripts/install-conda.sh @@ -6,4 +6,4 @@ wget --no-verbose -O $installer $url bash $installer -bfp $CI_CONDA_DIR set +ux ci_conda_activate -conda install --quiet --yes --channel maddenp --repodata-fn repodata.json anaconda-client condev jq +conda install --quiet --yes --channel maddenp --repodata-fn repodata.json anaconda-client condev jq python-build diff --git a/.github/scripts/pypi-package-build.sh b/.github/scripts/pypi-package-build.sh new file mode 100755 index 000000000..3a36315e7 --- /dev/null +++ b/.github/scripts/pypi-package-build.sh @@ -0,0 +1,8 @@ +#!/bin/bash -eux + +. $(dirname ${BASH_SOURCE[0]})/common.sh +ci_conda_activate +unset CONDEV_SHELL +export PYPI_PROJECT_NAME=unified-workflow-tools +set -ux +python -m build --no-isolation --wheel src diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 775e6a02e..005b86bf0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -9,6 +9,8 @@ jobs: release: name: Release runs-on: ubuntu-latest + permissions: + id-token: write steps: - uses: actions/checkout@v3 - name: Install conda @@ -21,3 +23,9 @@ jobs: run: .github/scripts/make-package.sh - name: Publish run: .github/scripts/publish.sh + - name: Make PyPI Package + run: .github/scripts/pypi-package-build.sh + - name: Publish PyPI Package + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: src/dist/ diff --git a/src/setup.py b/src/setup.py index 43e95b516..702d8d7a8 100644 --- a/src/setup.py +++ b/src/setup.py @@ -24,6 +24,7 @@ metasrc = recipe / "meta.json" meta = json.loads(metasrc.read_text()) name_conda = meta["name"] +name_dist = os.environ.get("PYPI_PROJECT_NAME", name_conda) name_py = name_conda.replace("-", "_") # Define basic setup configuration. @@ -31,7 +32,7 @@ kwargs = { "entry_points": {"console_scripts": ["uw = %s.cli:main" % name_py]}, "include_package_data": True, - "name": name_conda, + "name": name_dist, "packages": find_packages(exclude=["%s.tests" % name_py], include=[name_py, "%s.*" % name_py]), "version": meta["version"], }