Skip to content

Build and publish

Build and publish #119

Workflow file for this run

name: Build and publish
# Run on PR requests. And on master itself.
on:
push:
branches:
- main # just build the sdist skip release
tags:
- "*"
pull_request: # also build on PRs touching some files
paths:
- ".github/workflows/release.yml"
- "MANIFEST.in"
- "setup.cfg"
- "setup.py"
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build a source tarball
run: |
python -m pip install build
python -m build
- uses: actions/upload-artifact@v3
with:
path: ./dist/*
retention-days: 5
publish:
name: Publish on GitHub and PyPI
needs: [build]
runs-on: ubuntu-latest
# release on every tag
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- name: Upload Github release
id: upload-release-asset
uses: softprops/action-gh-release@v1
- name: Upload Release Assets to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_UPLOAD_TOKEN }}
trigger_docs_pr:
name: Trigger schematisation checks PR workflow on threedi-docs
needs: [publish]
runs-on: ubuntu-latest
steps:
- name: send POST request to Github API
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ELI_TRIGGER_DOCS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/nens/threedi-docs/actions/workflows/update-checks-list.yml/dispatches \
-d '{"ref":"master","inputs":{"reviewer_name":"${{ github.actor }}"}}'