Skip to content

fix: avoid raising an exception inside testing tuple structure for a … #104

fix: avoid raising an exception inside testing tuple structure for a …

fix: avoid raising an exception inside testing tuple structure for a … #104

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Mainline tests/verifications
on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]
jobs:
verify_style:
runs-on: 'ubuntu-latest'
steps:
-
uses: actions/checkout@v4
-
name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: '3.x'
architecture: 'x64'
-
name: Install dependencies
run: |
python -m pip install --upgrade pip invoke typing-extensions
invoke setup --devel --tests
-
name: Lint with flake8
run: |
invoke lint
-
name: Check style with black
run: |
invoke black --check
verify_types:
runs-on: 'ubuntu-latest'
steps:
-
uses: actions/checkout@v4
-
name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: '3.11'
architecture: 'x64'
-
name: Install dependencies
run: |
python -m pip install --upgrade pip invoke typing-extensions
invoke setup --devel --tests
-
name: validate types
run: |
python/bin/python -m mypy instruct
test_matrix:
needs: [verify_style, verify_types, check-versions]
strategy:
fail-fast: false
matrix:
experimental: [false]
arch:
- 'x64'
python_version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- 'pypy3.7'
- 'pypy3.8'
- 'pypy3.9'
os:
- 'ubuntu-latest'
include:
-
python_version: 'pypy3.10'
experimental: true
arch: 'x64'
os: ubuntu-latest
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
steps:
-
uses: actions/checkout@v4
-
name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
architecture: ${{ matrix.arch }}
-
name: Install dependencies
run: |
python -m pip install --upgrade pip invoke typing-extensions
invoke setup --devel --tests --no-project
invoke python-path
python/bin/python -m pip install -r setup-requirements.txt
-
name: Prepare build artifacts
run: |
invoke build --validate
python/bin/python -m pip install --no-index dist/instruct*.whl
-
name: Test with pytest
run: |
invoke test
check-versions:
runs-on: 'ubuntu-latest'
steps:
-
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
-
name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
architecture: 'x64'
-
name: Setup
run: |
python -m pip install --upgrade pip invoke typing-extensions
invoke setup --devel --no-project
-
name: Set some variables...
id: version
run: |
echo "CURRENT_VERSION=$(grep -vE '^#' CURRENT_VERSION.txt | head -1)" >> "$GITHUB_OUTPUT"
echo "CHANGELOG_VERSION=$(invoke last-logged-changes | head -1 | cut -f2 -d' ')" >> "$GITHUB_OUTPUT"
-
name: Warn if branch version already matches an existing tag
run: |
if [ "x$(invoke local-tag-exists --format json 'v${{ steps.version.outputs.CURRENT_VERSION }}')" = 'xtrue' ]; then
echo '::warning file=CURRENT_VERSION.txt,line=2,title=Version already exists in tags::Tag v${{ steps.version.outputs.CURRENT_VERSION }} already exists.'
fi