Skip to content

Merge pull request #287 from Carreau/misc-c #832

Merge pull request #287 from Carreau/misc-c

Merge pull request #287 from Carreau/misc-c #832

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
inputs:
name:
description: 'Reason'
required: false
default: 'Just Cause'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- lib: 'astropy'
python-version: "3.10"
- lib: 'papyri'
python-version: "3.10"
- lib: 'IPython'
python-version: "3.10"
- lib: 'numpy'
python-version: "3.10"
flags: '--no-narrative --no-exec'
- lib: 'scipy'
python-version: "3.10"
flags: '--no-narrative --no-exec'
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
flit install --symlink
git clone https://github.com/stsewd/tree-sitter-rst
cd tree-sitter-rst
git checkout 3fc88d2097bc854ab6bf70c52b3c482849cf8e8f
cd -
papyri build-parser
- name: dependency tree
run: |
pipdeptree
- name: dependency tree (reversed)
run: |
pipdeptree -r
- name: Gen ${{matrix.lib}}
run: |
pip install ${{matrix.lib}}
coverage run -a -m papyri gen examples/${{matrix.lib}}.toml --no-infer ${{matrix.flags}}
sleep 1 # time for coverage to write its stuff
papyri pack
ls ~/.papyri/data
- uses: actions/upload-artifact@v3
with:
name: doc-bundles
path: ~/.papyri/data/*.zip
- name: Convert .coverage sql to xml for upload
run: |
coverage report
coverage xml
ls -la
- name: "Upload coverage to Codecov"
uses: codecov/[email protected]
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
ingest:
runs-on: ubuntu-latest
needs: [build]
strategy:
matrix:
python-version: [3.9]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
flit install --symlink
git clone https://github.com/stsewd/tree-sitter-rst
cd tree-sitter-rst
git checkout 3fc88d2097bc854ab6bf70c52b3c482849cf8e8f
cd -
papyri build-parser
- uses: actions/download-artifact@v3
with:
name: doc-bundles
path: ~/.papyri/data/
- name: Misc cli
run: |
coverage run -m papyri --help
ls -al
- name: Ingest
run: |
coverage run -a -m papyri install ~/.papyri/data/*.zip
coverage run -a -m papyri relink
coverage run -a -m papyri render --ascii
ls -al
- name: Test with pytest
run: |
pip install scipy
pytest --cov=papyri --cov-append
ls -al
- name: Convert .coverage sql to xml for upload
run: |
coverage report
coverage xml
ls -la
- name: "Upload coverage to Codecov"
uses: codecov/[email protected]
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
vercel-deploy-prod:
runs-on: ubuntu-latest
needs: [build]
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
flit install --symlink
git clone https://github.com/stsewd/tree-sitter-rst
cd tree-sitter-rst
git checkout 3fc88d2097bc854ab6bf70c52b3c482849cf8e8f
cd -
papyri build-parser
- uses: actions/download-artifact@v3
with:
name: doc-bundles
path: ~/.papyri/data/
- name: Ingest and Render
run: |
papyri install ~/.papyri/data/*.zip
papyri relink
papyri render
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Deploy Project Artifacts to Vercel
id: vercel
working-directory: "/home/runner/.papyri/html"
run: |
vercel --version
vercel pull --yes --environment=production --token=$VERCEL_TOKEN
vercel build --prod --token=$VERCEL_TOKEN
vercel deploy --prebuilt --prod --archive=tgz --token=$VERCEL_TOKEN --meta commit=${{ github.sha }}--${{ github.run_id }}
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}