Skip to content

Add support for lazy loading and imports of some expensive subpackages and modules to speed up Perun startup time #82

Add support for lazy loading and imports of some expensive subpackages and modules to speed up Perun startup time

Add support for lazy loading and imports of some expensive subpackages and modules to speed up Perun startup time #82

Workflow file for this run

name: Release
on:
pull_request:
types:
- closed
branches:
- devel
jobs:
release:
if: ${{ github.event.pull_request.merged == true && contains(github.head_ref, 'release') }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
steps:
- name: Checkout latest version
uses: actions/checkout@v3
with:
ref: devel
- name: Setup Python, Ubuntu and Python environment
uses: ./.github/workflows/actions/setup
with:
python-version: ${{ matrix.python-version }}
- name: Install Perun (to assure it is correctly installed) and try obtaining the version
run: |
make install
perun --version
- name: Set version
id: manual-tagger
run: echo "NEW_TAG=$(perun --version | cut -d' ' -f2)" >> "$GITHUB_OUTPUT"
- name: Tag the new version
uses: rickstaa/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.manual-tagger.outputs.NEW_TAG }}
build-and-deploy-doc:
needs: release
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
steps:
- name: Checkout latest version
uses: actions/checkout@v3
with:
ref: devel
- name: Setup Python, Ubuntu and Python environment
uses: ./.github/workflows/actions/setup
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Generate docs for Python using Tox
run: |
tox -e docs
- name: Deploy to GH pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: docs/_build/html
build-and-deploy-to-pypi:
needs: release
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
steps:
- name: Checkout latest version
uses: actions/checkout@v4
with:
ref: devel
- name: Setup Python, Ubuntu and Python environment
uses: ./.github/workflows/actions/setup
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Ensure that dependencies are installed
run: |
# Install and upgrade pip
python3 -m pip install --upgrade pip
# Install dependencies for build and deploy
python3 -m pip install build wheel twine
- name: Build python release distribution package
run: |
make release
- name: Upload to TestPypi
run: |
python3 -m twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TESTPYPI_SECRET_TOKEN }}
TWINE_REPOSITORY: testpypi
- name: Upload to Pypi
run: |
python3 -m twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_SECRET_TOKEN }}