Skip to content

Prepare for release 3.7.0 #306

Prepare for release 3.7.0

Prepare for release 3.7.0 #306

Workflow file for this run

name: Test Build
on: [pull_request, workflow_dispatch]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.14'
- name: Install dependencies
run: |
pip install build
- name: Install project and lint dependencies
run: |
pip install .[develop]
- name: Run Markdown Lint
uses: articulate/actions-markdownlint@v1
with:
ignore: ./LICENSE.md
- name: Run Pylint
run: |
pylint smartsheet
test:
needs: lint
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Install test dependencies
run: |
pip install .[test]
- name: Clone smartsheet/smartsheet-sdk-tests PUBLIC repository
uses: GuillaumeFalourd/clone-github-repo-action@v2
with:
owner: 'smartsheet'
repository: 'smartsheet-sdk-tests'
- name: Setup Mock API
run: |
docker compose -f smartsheet-sdk-tests/docker-compose.yml up -d --wait
- name: Run tests
run: |
coverage run --source=smartsheet -m pytest
coverage lcov
- name: Coveralls Parallel
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: run-${{ matrix.python-version }}
path-to-lcov: "coverage.lcov"
parallel: true
build-packages-test:
runs-on: ubuntu-latest
needs: [test]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
- name: Install build packages
run: |
pip install build
- name: Build distribution
run: |
python -m build
- name: Archive distribution artifacts
uses: actions/upload-artifact@v4
with:
name: distribution
path: dist
retention-days: 5
build-documentation-test:
runs-on: ubuntu-latest
needs: [build-packages-test]
steps:
- uses: actions/checkout@v4
- name: Install documentation tools
run: |
pip install build
- name: Install documentation dependencies
run: |
pip install .[docs]
- name: Generate API documentation
run: sphinx-apidoc -o docs-source smartsheet
- name: Generate HTML
run: sphinx-build -b html -d docs-source/_build/doctrees docs-source/. docs-source/_build/html
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: html-docs
path: docs/build/html/
retention-days: 5
finish:
needs: [build-documentation-test]
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
path-to-lcov: "coverage.lcov"