setup.py: Start on 0.13.1.dev1 #25
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: Python package | |
on: | |
# Always build installable package, except for docs changes | |
push: | |
paths: | |
- "./**" | |
- "!docs/" | |
- ".github/workflows/python-package.yml" | |
pull_request: | |
paths: | |
- "./**" | |
- "!docs/" | |
- ".github/workflows/python-package.yml" | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
# Use only lowest and highest supported python versions for now, | |
# to speed up CI runs | |
python-version: [3.8, "3.11"] | |
node-version: [16] | |
fail-fast: false | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
# Dependencies are in setup.py, so use it as cache key | |
cache-dependency-path: 'setup.py' | |
- name: Set up NodeJS ${{ matrix.node-version }} on ${{ matrix.os }} | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
cache-dependency-path: package.json | |
- name: Install Javascript dependencies using npm | |
run: make init | |
- name: Create Javascript artifacts (but skip manpages) | |
run: make js | |
- name: Generate Isso package | |
id: generate-package | |
run: | | |
python setup.py sdist | |
echo "::set-output name=package_file::$(ls dist/)" | |
- name: Install generated Isso package | |
run: pip install dist/${{ steps.generate-package.outputs.package_file }} | |
- name: Archive and upload generated package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.os }}-python-${{ matrix.python-version }}-${{ steps.generate-package.outputs.package_file }} | |
path: dist/${{ steps.generate-package.outputs.package_file }} | |
- name: Clean up Isso package from site-packages | |
# This ensures it isn't accidentally restored by the "setup-python" | |
# action | |
run: pip uninstall --y isso |