Skip to content
This repository has been archived by the owner on Jun 12, 2024. It is now read-only.

Note monorepo in README. #33

Note monorepo in README.

Note monorepo in README. #33

Workflow file for this run

name: Run Tests
on:
push:
branches:
- main
release:
types: [published]
pull_request:
defaults:
run:
shell: bash -l {0}
jobs:
test-conda:
name: Test with Python ${{matrix.python}} on ${{matrix.platform}}
runs-on: ${{matrix.platform}}-latest
strategy:
fail-fast: false
matrix:
platform:
- ubuntu
python:
- "3.8"
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- name: 👢 Set up Conda environment
uses: lenskit/lkbuild/actions/setup-conda-env@main
id: setup
with:
python-version: ${{matrix.python}}
conda-type: micromamba
lock-file-type: yml
- name: 🔎 Inspect environment
run: |
numba -s
- name: Run tests
run: |
python -m pytest --cov=lenskit_implicit -v
- name: Aggregate coverage data
run: coverage xml
- name: Upload coverage
uses: codecov/codecov-action@v1
test-vanilla:
name: Test with vanilla Python ${{matrix.python}} on ${{matrix.platform}}
runs-on: ${{matrix.platform}}-latest
strategy:
fail-fast: false
matrix:
platform:
- ubuntu
python:
- "3.8"
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- name: Set up Python and environment
uses: lenskit/lkbuild/actions/setup-vanilla-env@main
with:
python-version: ${{matrix.python}}
- name: Run tests
run: |
python -m pytest --cov=lenskit_implicit -v
- name: Aggregate coverage data
run: coverage xml
- name: Upload coverage
uses: codecov/codecov-action@v1
sdist:
name: Build Source Packages
runs-on: ubuntu-latest
needs: [test-conda, test-vanilla]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Git tags
run: git fetch --tags
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install Python deps
run: |
pip install -U flit
- name: Build distribution
run: flit build
- name: Save archive
uses: actions/upload-artifact@v1
with:
name: pypi-pkgs
path: dist
- name: List dist dir
run: ls -R dist
- name: Publish PyPI packages
if: github.event_name == 'release'
run: |
flit publish
shell: bash
env:
TWINE_NON_INTERACTIVE: y
FLIT_USERNAME: __token__
FLIT_PASSWORD: ${{ secrets.PYPI_TOKEN }}