Update create_temp_html.yml #18
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
--- | |
# Upload to Test PyPI on every push to main | |
name: Publish to TestPyPI | |
on: | |
push: | |
branches: [main] | |
concurrency: | |
group: pypi | |
jobs: | |
test-pypi-build: | |
name: Build package with unique version for test.pypi.org | |
if: github.repository == 'tektronix/tm_devices' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
# TODO: update to just "x", currently there appears to be a bug in hynek/build-and-inspect-python-package, where it uses an outdated version of typing_extensions. | |
python-version: 3.11 | |
check-latest: true | |
- name: Install workflow dependencies | |
run: pip install poetry-core tomli tomli_w requests | |
- name: Create unique package version | |
id: create-version | |
run: | | |
CURRENT_VERSION=$(python scripts/pypi_latest_version.py --package=tm_devices --index=test.pypi) | |
echo CURRENT_VERSION: $CURRENT_VERSION | |
NEW_VERSION=$(python scripts/create_post_version_for_testpypi.py --version=$CURRENT_VERSION) | |
echo NEW_VERSION: $NEW_VERSION | |
python scripts/project_version.py --set-version=$NEW_VERSION | |
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT | |
- name: Build package | |
uses: hynek/[email protected] | |
outputs: | |
built-version: ${{ steps.create-version.outputs.NEW_VERSION }} | |
test-pypi-upload: | |
name: Upload package to test.pypi.org | |
needs: test-pypi-build | |
if: github.repository == 'tektronix/tm_devices' | |
runs-on: ubuntu-latest | |
environment: package-testpypi | |
permissions: | |
id-token: write | |
steps: | |
- name: Download built packages | |
uses: actions/download-artifact@v3 | |
with: | |
name: Packages | |
path: dist | |
- name: Upload package to Test PyPI | |
uses: pypa/[email protected] | |
with: | |
repository-url: https://test.pypi.org/legacy/ | |
test-pypi-install: | |
name: Install package from test.pypi.org | |
needs: [test-pypi-build, test-pypi-upload] | |
if: github.repository == 'tektronix/tm_devices' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: x | |
check-latest: true | |
- name: Test installing from test.pypi.org | |
# A retry is used to allow for some downtime before the package is installable | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 2 | |
max_attempts: 5 | |
retry_wait_seconds: 30 | |
warning_on_retry: false | |
command: pip install --index-url=https://test.pypi.org/simple/ --extra-index-url=https://pypi.org/simple | |
tm_devices==${{ needs.test-pypi-build.outputs.built-version }} |