Skip to content

Merge pull request #212 from UBC-MDS/211-doc-update #2

Merge pull request #212 from UBC-MDS/211-doc-update

Merge pull request #212 from UBC-MDS/211-doc-update #2

Workflow file for this run

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
jobs:
test-then-build-wheel:
# Set up operating system
runs-on: ubuntu-latest
outputs:
wheelfile: ${{ steps.wheel-name.outputs.WHEELFILE }}
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
- name: Test package building process
run: rm -rf ./dist && poetry build --format wheel --output dist
- name: Get built wheel path
id: wheel-name
run: echo "WHEELFILE=$(ls dist)" >> "$GITHUB_OUTPUT"
- name: Upload test build as artifact
uses: actions/upload-artifact@v4
with:
name: test-wheel
path: dist/${{ steps.wheel-name.outputs.WHEELFILE }}
wheel-install-test:
runs-on: ubuntu-latest
needs: [test-then-build-wheel]
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Download built wheel
uses: actions/download-artifact@v4
with:
name: test-wheel
- name: Test pip install local wheel
run: pip install -U wheel ${{needs.test-then-build-wheel.outputs.wheelfile}}