Skip to content

feat: (anti)feature - remove poetry.lock from solution template #2140

feat: (anti)feature - remove poetry.lock from solution template

feat: (anti)feature - remove poetry.lock from solution template #2140

Workflow file for this run

name: CI
on:
pull_request:
push:
tags:
- "*"
branches:
- main
env:
MAIN_PYTHON_VERSION : '3.10'
LIBRARY_NAME: 'ansys-templates'
DOCUMENTATION_CNAME: 'templates.ansys.com'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
update-changelog:
name: "Update CHANGELOG for new tag"
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: ansys/actions/doc-deploy-changelog@v7
with:
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
code-style:
name: Code style
runs-on: ubuntu-latest
steps:
- name: "Run PyAnsys code style checks"
uses: ansys/actions/code-style@v7
doc-style:
name: Doc style
runs-on: ubuntu-latest
steps:
- name: "Run Ansys documentation style checks"
uses: ansys/actions/doc-style@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
doc-build:
name: Doc building
runs-on: ubuntu-latest
needs: doc-style
steps:
- name: "Run Ansys documentation building action"
uses: ansys/actions/doc-build@v7
wheelhouse:
name: Wheelhouse Python ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: code-style
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.9', '3.10', '3.11', '3.12']
should-release:
- ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }}
exclude:
- should-release: false
os: macos-latest
steps:
- name: "Build wheelhouse and perform smoke test"
uses: ansys/actions/build-wheelhouse@v7
with:
library-name: ${{ env.LIBRARY_NAME }}
operating-system: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
tests:
name: Tests
needs: wheelhouse
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
cfg:
- {python-version: "3.9", toxenv: "py39"}
- {python-version: "3.10", toxenv: "py310"}
- {python-version: "3.11", toxenv: "py311"}
- {python-version: "3.12", toxenv: "py312"}
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.cfg.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.cfg.python-version }}
- name: Install dependencies
run: python -m pip install --upgrade pip ${{ matrix.build-system }} tox
- name: Run Tox
run: tox -e ${{ matrix.cfg.toxenv }}-smoke-cov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: matrix.cfg.python-version == ${{ env.MAIN_PYTHON_VERSION }}
build-library:
name: "Build library"
needs: [doc-build, tests]
runs-on: ubuntu-latest
steps:
- name: "Build library source and wheel artifacts"
uses: ansys/actions/build-library@v7
with:
library-name: ${{ env.LIBRARY_NAME }}
doc-deploy-development:
name: Doc dev version deploy
if: github.event_name == 'push'
runs-on: ubuntu-latest
needs: build-library
steps:
- name: "Deploy developers documentation"
uses: ansys/actions/doc-deploy-dev@v7
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
release:
name: "Release to private and public PyPI and to GitHub"
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
runs-on: ubuntu-latest
needs: [doc-build, update-changelog, build-library]
steps:
- name: "Release to the private PyPI repository"
uses: ansys/actions/release-pypi-private@v7
with:
library-name: ${{ env.LIBRARY_NAME }}
twine-username: "__token__"
twine-token: ${{ secrets.PYANSYS_PYPI_PRIVATE_PAT }}
- name: "Release to the public PyPI repository"
uses: ansys/actions/release-pypi-public@v7
with:
library-name: ${{ env.LIBRARY_NAME }}
twine-username: "__token__"
twine-token: ${{ secrets.PYPI_TOKEN }}
- name: "Release to GitHub"
uses: ansys/actions/release-github@v7
with:
library-name: ${{ env.LIBRARY_NAME }}
doc-deploy-stable:
name: Doc stable version deploy
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
runs-on: ubuntu-latest
needs: release
steps:
- name: "Deploy stable documentation"
uses: ansys/actions/doc-deploy-stable@v7
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}