Merge pull request #212 from UBC-MDS/211-doc-update #2
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 | |
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}} |