ci: Create CI/CD pipeline for testing packaging process; include integration tests #11
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: ci-full | |
on: | |
# only pushes to the protected branch i.e. `main` should trigger this flow. | |
# enabling this flow to be triggered on push to **unprotected** branches | |
# or Pull Requests to **any** branch risks exposing the secrets for any | |
# unapproved changes (basically RCE) | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
ci: | |
# Set up operating system | |
runs-on: ubuntu-latest | |
environment: integration-testing | |
# Define job steps | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.12" | |
- name: Check-out repository | |
uses: actions/checkout@v3 | |
- name: Install poetry | |
uses: snok/install-poetry@v1 | |
- name: Install package | |
run: poetry install | |
- name: Install pandoc | |
run: sudo apt-get update && sudo apt-get install -y pandoc | |
- name: Install tectonic | |
run: sudo snap refresh && sudo snap install tectonic | |
- name: Test with pytest | |
env: | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
run: poetry run pytest --cov |