Bump peter-evans/create-or-update-comment from 2 to 4 #823
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: GitHub CI | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
tags: | |
- "*" | |
branches: | |
- main | |
env: | |
MAIN_PYTHON_VERSION: '3.10' | |
DOCUMENTATION_CNAME: 'hps.docs.pyansys.com' | |
PACKAGE_NAME: 'ansys-hps-client' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
style: | |
name: Code style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox | |
- name: Test with tox | |
run: tox -e style | |
doc-style: | |
name: Documentation Style Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys documentation style checks | |
uses: ansys/actions/doc-style@v5 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tests: | |
name: Quick tests and coverage | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
cfg: [ | |
{ python-version: '3.10', toxenv: 'py310' }, | |
] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.cfg.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.cfg.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox tox-gh-actions | |
- uses: dawidd6/action-download-artifact@v2 | |
with: | |
workflow: main.yaml | |
name: docker-compose-internal | |
path: docker-compose-artifact/ | |
branch: main | |
repo: ansys-internal/rep-deployments | |
workflow_conclusion: success | |
search_artifacts: false | |
github_token: ${{secrets.PYANSYS_CI_BOT_TOKEN}} | |
- uses: KengoTODA/actions-setup-docker-compose@main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Login in Github Container registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io/ansys-internal | |
username: pyansys-ci-bot | |
password: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
- name: Start services | |
run: | | |
ls -la | |
tar -xvzf docker-compose-internal.tar.gz | |
cd docker-compose | |
FSGATEWAY_TAG=latest-dev JMS_TAG=latest-dev docker-compose pull | |
FSGATEWAY_TAG=latest-dev JMS_TAG=latest-dev LOCALHOST_ADDR=localhost docker-compose up -d keycloak | |
echo "Waiting a few sec ..." | |
sleep 5 | |
FSGATEWAY_TAG=latest-dev JMS_TAG=latest-dev LOCALHOST_ADDR=localhost docker-compose up -d | |
working-directory: ./docker-compose-artifact | |
- name: Test with tox | |
run: tox -e ${{ matrix.cfg.toxenv }}-coverage | |
env: | |
HPS_TEST_URL: https://localhost:8443/rep | |
HPS_TEST_USERNAME: repadmin | |
HPS_TEST_PASSWORD: repadmin | |
- name: "Upload coverage results" | |
uses: actions/upload-artifact@v4 | |
if: matrix.cfg.python-version == env.MAIN_PYTHON_VERSION | |
with: | |
name: coverage-html | |
path: .cov/html | |
retention-days: 7 | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v3 | |
if: always() | |
with: | |
report_paths: '**/test*.xml' | |
check_name: Test Report ${{ matrix.os }}:${{ matrix.cfg.python-version }} | |
detailed_summary: true | |
include_passed: true | |
- name: Stop services | |
if: always() | |
run: | | |
docker-compose down -v | |
working-directory: ./docker-compose-artifact/docker-compose | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
needs: [doc-style] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox | |
# Necessary for creating PDF | |
sudo apt-get -y install latexmk | |
sudo apt install texlive-latex-extra | |
- name: Generate the documentation with tox | |
run: tox -e doc | |
- name: Upload HTML Documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-html | |
path: doc/_build/html | |
retention-days: 7 | |
- name: Upload PDF Documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-pdf | |
path: doc/_build/latex/*.pdf | |
retention-days: 7 | |
smoke-tests: | |
name: Build and Smoke tests | |
runs-on: ${{ matrix.os }} | |
needs: [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@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
operating-system: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
package: | |
name: Package library | |
needs: [tests, docs, smoke-tests] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Build library source and wheel artifacts | |
uses: ansys/actions/build-library@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
library-version: | |
name: Get library version | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Install Git and clone project" | |
uses: actions/checkout@v4 | |
- name: "Set up Python ${{ env.MAIN_PYTHON_VERSION }}" | |
uses: ansys/actions/_setup-python@main | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
use-cache: true | |
- name: "Install the library" | |
shell: bash | |
run: | | |
python -m pip install -e . | |
- name: "Verify library is properly installed and get its version number" | |
shell: bash | |
run: | | |
library_name=${{ env.PACKAGE_NAME }} | |
version=$(python -c "import importlib.metadata as importlib_metadata; print(importlib_metadata.version('$library_name'))") | |
if [ -z "$version" ]; then | |
echo "Problem getting the library version" | |
exit 1; | |
else | |
echo "The library version is: $version"; | |
fi; | |
echo "library_version=$version" >> $GITHUB_ENV | |
pre-release: | |
name: Pre-release project | |
if: startsWith(github.ref, 'refs/heads/main') | |
needs: [package, library-version] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ansys-hps-client-artifacts | |
path: /tmp/artifacts | |
- name: List artifacts | |
run: ls -ltR /tmp/artifacts | |
- name: Release to latest-dev | |
uses: "marvinpinto/action-automatic-releases@latest" | |
if: startsWith(github.ref, 'refs/heads/main') | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
automatic_release_tag: "v${{ env.library_version }}" | |
prerelease: true | |
title: "v${{ env.library_version }}" | |
files: | | |
/tmp/artifacts/*.whl | |
upload_dev_docs: | |
name: "Deploy 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@v4 | |
with: | |
doc-artifact-name: 'documentation-html' | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
release: | |
name: Release project | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
needs: [package] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Release to the private PyPI repository | |
uses: ansys/actions/release-pypi-private@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
twine-username: "__token__" | |
twine-token: ${{ secrets.PYANSYS_PYPI_PRIVATE_PAT }} | |
- name: Release to GitHub | |
uses: ansys/actions/release-github@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
doc-deploy-stable: | |
name: "Deploy stable documentation" | |
# Deploy release documentation when creating a new tag | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
runs-on: ubuntu-latest | |
needs: [release] | |
steps: | |
- uses: ansys/actions/doc-deploy-stable@v4 | |
with: | |
doc-artifact-name: 'documentation-html' | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} |