Skip to content

[pre-commit.ci] pre-commit autoupdate #683

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #683

Workflow file for this run

name: GitHub CI
on:
pull_request:
push:
tags:
- "*"
branches:
- main
env:
MAIN_PYTHON_VERSION: '3.11'
PACKAGE_NAME: 'pyansys-tools-versioning'
PACKAGE_NAMESPACE: 'ansys.tools.versioning'
DOCUMENTATION_CNAME: 'versioning.tools.docs.pyansys.com'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-vulnerabilities:
name: "Check library vulnerabilities"
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: "Check library vulnerabilities - development mode"
if: github.ref != 'refs/heads/main'
uses: ansys/actions/check-vulnerabilities@main
with:
token: ${{ secrets.SAFETY_TOKEN }}
python-package-name: ${{ env.PACKAGE_NAME }}
dev-mode: true
- name: "Check library vulnerabilities - default mode"
if: github.ref == 'refs/heads/main'
uses: ansys/actions/check-vulnerabilities@main
with:
token: ${{ secrets.SAFETY_TOKEN }}
python-package-name: ${{ env.PACKAGE_NAME }}
docs-style:
name: PyAnsys documentation style check
runs-on: ubuntu-latest
steps:
- name: PyAnsys documentation style checks
uses: ansys/actions/doc-style@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
smoke-tests:
name: Build and smoke tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- name: Build wheelhouse and perform smoke test
uses: ansys/actions/build-wheelhouse@v6
with:
library-name: ${{ env.PACKAGE_NAME }}
operating-system: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
smoke-tests-macos:
name: Build and smoke tests (macOS)
if: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- name: Build wheelhouse and perform smoke test
uses: ansys/actions/build-wheelhouse@v6
with:
library-name: ${{ env.PACKAGE_NAME }}
operating-system: ${{ runner.os }}
python-version: ${{ matrix.python-version }}
tests:
name: Testing
runs-on: ${{ matrix.os }}
needs: [smoke-tests]
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ['3.9', '3.10', '3.11', '3.12']
steps:
- name: Run pytest
uses: ansys/actions/tests-pytest@v6
with:
python-version: ${{ matrix.python-version }}
pytest-extra-args: "--cov=${{ env.PACKAGE_NAMESPACE }} --cov-report=term --cov-report=xml:.cov/coverage.xml --cov-report=html:.cov/html"
- name: Upload coverage results (HTML)
uses: actions/upload-artifact@v4
if: (matrix.python-version == env.MAIN_PYTHON_VERSION) && (runner.os == 'Linux')
with:
name: coverage-html
path: .cov/html
retention-days: 7
- name: Upload coverage results (Codecov)
uses: codecov/codecov-action@v4
if: (matrix.python-version == env.MAIN_PYTHON_VERSION) && (runner.os == 'Linux')
with:
files: .cov/coverage.xml
docs:
name: Documentation
runs-on: ubuntu-latest
needs: [docs-style]
steps:
- name: "Run Ansys documentation building action"
uses: ansys/actions/doc-build@v6
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
dependencies: "build-essential zip pandoc texlive-latex-extra latexmk texlive-pstricks"
package:
name: Package library
needs: [tests, docs]
runs-on: ubuntu-latest
steps:
- name: Build library source and wheel artifacts
uses: ansys/actions/build-library@v6
with:
library-name: ${{ env.PACKAGE_NAME }}
python-version: ${{ env.MAIN_PYTHON_VERSION }}
release:
name: Release project
if: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }}
needs: [package, smoke-tests-macos]
runs-on: ubuntu-latest
steps:
- name: Release to the public PyPI repository
uses: ansys/actions/release-pypi-public@v6
with:
library-name: ${{ env.PACKAGE_NAME }}
twine-username: "__token__"
twine-token: ${{ secrets.PYPI_TOKEN }}
- name: Release to GitHub
uses: ansys/actions/release-github@v6
with:
library-name: ${{ env.PACKAGE_NAME }}
upload_docs_dev:
name: Upload dev documentation
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
needs: [package]
steps:
- name: Deploy the latest documentation
uses: ansys/actions/doc-deploy-dev@v6
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
upload_docs_release:
name: Upload release documentation
if: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }}
runs-on: ubuntu-latest
needs: [release]
steps:
- name: Deploy the stable documentation
uses: ansys/actions/doc-deploy-stable@v6
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}