Skip to content

CHORE: Bump the production-dependencies group across 1 directory with 7 updates #1317

CHORE: Bump the production-dependencies group across 1 directory with 7 updates

CHORE: Bump the production-dependencies group across 1 directory with 7 updates #1317

Workflow file for this run

name: CI
on:
pull_request:
push:
tags:
- "*"
branches:
- main
env:
MAIN_PYTHON_VERSION: '3.13'
PACKAGE_NAME: 'ansys-conceptev-core'
DOCUMENTATION_CNAME: 'conceptev.docs.pyansys.com'
MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
MEILISEARCH_HOST_URL: ${{ vars.MEILISEARCH_HOST_URL }}
MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }}
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@v10
with:
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
# vulnerabilities:
# name: Vulnerabilities
# runs-on: ubuntu-latest
# steps:
# - name: PyAnsys vulnerability check (on main)
# if: github.ref == 'refs/heads/main'
# uses: ansys/actions/check-vulnerabilities@v6
# with:
# python-version: ${{ env.MAIN_PYTHON_VERSION }}
# python-package-name: ${{ env.PACKAGE_NAME }}
# token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
# - name: PyAnsys vulnerability check (on dev mode)
# if: github.ref != 'refs/heads/main'
# uses: ansys/actions/check-vulnerabilities@v6
# with:
# python-version: ${{ env.MAIN_PYTHON_VERSION }}
# python-package-name: ${{ env.PACKAGE_NAME }}
# token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
# dev-mode: true
code-style:
name: Code style
runs-on: ubuntu-latest
steps:
- name: PyAnsys code style checks
uses: ansys/actions/code-style@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
doc-style:
name: Documentation style
runs-on: ubuntu-latest
steps:
- name: PyAnsys documentation style checks
uses: ansys/actions/doc-style@v10
with:
token: ${{ secrets.GITHUB_TOKEN }}
smoke-tests:
name: Build and Smoke tests
runs-on: ${{ matrix.os }}
needs: [code-style]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: [ "3.10", "3.11", "3.12", "3.13"]
steps:
- name: Build wheelhouse and perform smoke test
uses: ansys/actions/build-wheelhouse@v10
with:
library-name: ${{ env.PACKAGE_NAME }}
operating-system: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
whitelist-license-check: "zipp,typing-inspection"
tests:
name: Tests and coverage
runs-on: ${{ matrix.os }}
needs: [smoke-tests]
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.10","3.11", "3.12", "3.13"]
fail-fast: false
steps:
- uses: ansys/actions/tests-pytest@v10
env:
CONCEPTEV_PASSWORD: ${{ secrets.CONCEPTEV_PASSWORD }}
POETRY_VIRTUALENVS_CREATE: ${{ vars.POETRY_VIRTUALENVS_CREATE }}
with:
pytest-extra-args: "-m 'not integration' --cov=ansys --cov-report=term --cov-report=html:.cov/html"
- name: Upload coverage results
uses: actions/upload-artifact@v7
if: env.MAIN_PYTHON_VERSION == matrix.python-version
with:
name: coverage-tests-${{ matrix.os }}
path: .cov
retention-days: 7
- name: Upload coverage results (as .coverage)
uses: actions/upload-artifact@v7
if: env.MAIN_PYTHON_VERSION == matrix.python-version
with:
name: coverage-file-tests-${{ matrix.os }}
path: .coverage
retention-days: 7
tests-integration:
name: Integration Tests
runs-on: ubuntu-latest
needs : [tests]
steps:
- uses: ansys/actions/tests-pytest@v10
env:
PYCONCEPTEV_SETTINGS: "tests/config.toml"
CONCEPTEV_PASSWORD: ${{ secrets.CONCEPTEV_PASSWORD }}
POETRY_VIRTUALENVS_CREATE: ${{ vars.POETRY_VIRTUALENVS_CREATE }}
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
pytest-extra-args: "-s -m integration --log-cli-level=INFO"
doc-build:
name: Build documentation
runs-on: ubuntu-latest
needs: [doc-style]
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y pandoc
sudo apt-get install texlive-latex-extra texlive-xetex texlive-fonts-extra
sudo apt-get install gobject-introspection
- name: Verify Pandoc installation
run: pandoc --version
- name: Build documentation
uses: ansys/actions/doc-build@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
check-links: false
optional-dependencies-name: ""
group-dependencies-name: "doc"
env:
CONCEPTEV_PASSWORD: ${{ secrets.CONCEPTEV_PASSWORD }}
package:
name: Package library
runs-on: ubuntu-latest
steps:
- name: Build library source and wheel artifacts
uses: ansys/actions/build-library@v10
with:
library-name: ${{ env.PACKAGE_NAME }}
python-version: ${{ env.MAIN_PYTHON_VERSION }}
doc-deploy-dev:
name: Deploy development documentation
runs-on: ubuntu-latest
needs: [doc-build, package]
if: github.ref == 'refs/heads/main'
steps:
- name: Deploy the latest documentation
uses: ansys/actions/doc-deploy-dev@v10
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
doc-deploy-stable:
name: Deploy stable documentation
runs-on: ubuntu-latest
needs: [doc-build, package, release]
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
steps:
- name: Deploy the stable documentation
uses: ansys/actions/doc-deploy-stable@v10
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
release:
name: Release to the public PyPI repository
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
needs: [doc-build, package, update-changelog]
runs-on: ubuntu-latest
# Specifying a GitHub environment is optional, but strongly encouraged
environment: release
permissions:
id-token: write
contents: write
steps:
- name: "Download the library artifacts from build-library step"
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: ${{ env.PACKAGE_NAME }}-artifacts
path: ${{ env.PACKAGE_NAME }}-artifacts
- name: "Upload artifacts to PyPI using trusted publisher"
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
with:
repository-url: "https://upload.pypi.org/legacy/"
print-hash: true
packages-dir: ${{ env.PACKAGE_NAME }}-artifacts
skip-existing: false
- name: Release to GitHub
uses: ansys/actions/release-github@v10
with:
library-name: ${{ env.PACKAGE_NAME }}