ci: update publishing job #7
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: main | |
on: [push] | |
jobs: | |
lint: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Run the linter | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
python --version; python -m pip --version | |
python -m pip install poetry; poetry --version | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
make lint-ci | |
type-check: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Run the type-checker | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
python --version; python -m pip --version | |
python -m pip install poetry; poetry --version | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
make type-check-ci | |
test: | |
runs-on: ubuntu-22.04 | |
needs: [lint,type-check] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Run the test suite and coverage | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
sudo apt-get install -y --no-install-recommends pandoc texlive texlive-latex-extra | |
make coverage-ci | |
make doctest | |
docs: | |
runs-on: ubuntu-22.04 | |
needs: [lint,type-check] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Build the docs | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
sudo apt-get install -y --no-install-recommends pandoc | |
make docs | |
upload-docs: | |
if: success() && github.ref == 'refs/heads/main' | |
needs: [test,docs] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Build docs for publishing | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
sudo apt-get install -y --no-install-recommends pandoc | |
make pages-ci | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: docs/build/public | |
pages: | |
needs: [upload-docs] | |
if: success() && github.ref == 'refs/heads/main' | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Publish to pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
build: | |
needs: [test,docs] | |
if: success() && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Build the package | |
run: | | |
export PYTHONDONTWRITEBYTECODE=1 | |
poetry config virtualenvs.in-project true; poetry install -vv; source `poetry env info --path`/bin/activate | |
sudo apt-get install -y --no-install-recommends pandoc texlive texlive-latex-extra | |
make build-ci | |
- name: Upload build | |
uses: actions/upload-artifact@v3 | |
with: | |
name: package-build | |
path: ./dist/* | |
publish: | |
needs: [pages,build] | |
if: success() && github.ref == 'refs/heads/main' && startsWith(github.ref, 'refs/tags') | |
runs-on: ubuntu-22.04 | |
environment: | |
name: testpypi | |
url: https://test.pypi.org/p/crypto-condor | |
permissions: | |
contents: write | |
id-token: write | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: Download build | |
uses: actions/download-artifact@v3 | |
with: | |
# By omitting the name we are downloading all the artifacts | |
path: ./dist/ | |
- name: Publish the package | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://test.pypi.org/legacy/ | |