Skip to content

Commit

Permalink
Adds running tests to release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
erikhuck committed Apr 18, 2024
1 parent 9332ce7 commit b354e9e
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 21 deletions.
41 changes: 20 additions & 21 deletions .github/workflows/package_release.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
name: Release the Next Version of the Package
name: Release the Next Version of the Package and Documentation

on:
release:
types: [published]
workflow_dispatch:

jobs:
deploy:
release-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
- id: parse-version
name: Parse release version
run: |
python3 -m pip install --upgrade pip
python3 -m pip install build
python3 -m pip install twine
- name: Build package
run: python -m build
- name: Check package
run: python3 -m twine check dist/*
- name: Publish package to Test-PyPi
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
echo "version=${RELEASE_VERSION/v/}" >> "$GITHUB_OUTPUT"
env:
RELEASE_VERSION: ${{ github.event.release.tag_name }}
outputs:
version: ${{ steps.parse-version.outputs.version }}
publish-test-pypi:
uses: ./.github/workflows/pypi.yml
with:
pypi_api_token: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
test-test-pypi:
needs: [release-version, publish-test-pypi]
uses: ./.github/workflows/tests.yml
with:
install_command: "python3 -m pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple gpu-tracker==${{ needs.release-version.outputs.version }}"

# - name: Publish package to PyPi
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Publish package

on:
workflow_call:
inputs:
pypi_api_token:
description: The API token to access the PyPi distribution
required: true
type: string
repository_url:
description: The URL of the PyPi distribution
required: true
type: string

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install build
- name: Build package
run: python3 -m build
- name: Publish package to a PyPi distribution
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ inputs.pypi_api_token }}
repository-url: ${{ inputs.repository_url }}
35 changes: 35 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Run Tests

on:
workflow_call:
inputs:
install_command:
description: The command for installing the package to test.
required: true
type: string
jobs:
run-tests:
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
os: [ ubuntu-latest, windows-latest, macOS-latest ]
runs-on: ${{matrix.os}}

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install testing environment
run: |
python3 -m pip install --upgrade pip
python3 -m pip install pytest pytest-mock pytest-cov
- name: Install package
uses: Wandalen/wretry.action@master
with:
command: ${{ inputs.install_command }}
attempt_limit: 10
attempt_delay: 10000
- name: Run tests on package
run: python3 -m pytest tests --cov --cov-branch --cov-report=term-missing

0 comments on commit b354e9e

Please sign in to comment.