Update VERSION #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to PyPI | |
on: | |
push: | |
branches: | |
- main | |
- cd_pipeline | |
paths: | |
- VERSION # Only trigger if the VERSION file changes | |
jobs: | |
build-testpypi-package: | |
name: Modify version and build package for TestPyPI | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: Read the current version | |
id: get_version | |
run: echo "version=$(cat VERSION)" >> $GITHUB_ENV | |
- name: Append current time to the version | |
run: | | |
current_time=$(date +"%H%M%S") | |
new_version="${{ env.version }}.$current_time" | |
echo "$new_version" > VERSION | |
- name: Build the package with updated version | |
run: | | |
python -m pip install --upgrade build | |
python -m build | |
- name: Store the TestPyPi distribution package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testpypi-package-distribution | |
path: dist/ | |
testpypi-deployment: | |
name: TestPyPI Deployment | |
needs: | |
- build-testpypi-package | |
runs-on: ubuntu-latest | |
environment: | |
name: testpypi | |
url: https://test.pypi.org/p/mrpro | |
permissions: | |
id-token: write | |
steps: | |
- name: Download the TestPyPi distribution package | |
uses: actions/download-artifact@v4 | |
with: | |
name: ptestpypi-package-distribution | |
path: dist/ | |
- name: Publish to TestPyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://test.pypi.org/legacy/ | |
test-install-from-testpypi: | |
name: Test installation from TestPyPI | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: Install MRpro from TestPyPI | |
run: | | |
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mrpro | |
pypi-deployment: | |
name: PyPI Deployment | |
needs: | |
- test-install-from-testpypi | |
runs-on: ubuntu-latest | |
environment: | |
name: pypi | |
url: https://pypi.org/project/mrpro | |
permissions: | |
id-token: write | |
steps: | |
- name: dummy | |
run: echo "PyPi Deployment is not yet implemented" |