Skip to content

Nightly Build

Nightly Build #360

Workflow file for this run

name: Nightly Build
on:
workflow_dispatch:
schedule:
- cron: "0 2 * * *"
env:
MAIN_PYTHON_VERSION: '3.9'
DOC_PYTHON_VERSION: '3.9'
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
quick-tests:
name: Quick tests and coverage
runs-on: ${{ matrix.os }}
strategy:
matrix:
# extend to windows once it's possible to run docker
# on windows runners:
# os: [windows-latest, ubuntu-latest]
os: [ubuntu-latest]
cfg:
- {python-version: "3.9", toxenv: "py39"}
- {python-version: "3.11", toxenv: "py311"}
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 }}-noeval-coverage
env:
REP_TEST_URL: https://localhost:8443/rep
REP_TEST_USERNAME: repadmin
REP_TEST_PASSWORD: repadmin
- 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 }}
- name: Stop services
if: always()
run: |
docker-compose down -v
working-directory: ./docker-compose-artifact/docker-compose
end-to-end-tests:
name: End-to-end tests
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ env.MAIN_PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools tox tox-gh-actions
- name: Test with tox
run: tox -e py39-witheval
env:
REP_TEST_URL: https://repkube.westeurope.cloudapp.azure.com/dev/rep
REP_TEST_USERNAME: repbuild
REP_TEST_PASSWORD: repbuild
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: always()
with:
report_paths: '**/test*.xml'
check_name: End-to-end Test Report
build:
name: Build wheel
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 and build the library
run: |
python -m pip install --upgrade pip setuptools
python -m pip install -r requirements/requirements_build.txt
python -m build venv wheel
python -m twine check dist/*
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: pyrep-package
path: |
dist/*.whl
retention-days: 5
docs:
name: Documentation
runs-on: ubuntu-latest
# needs: docs-style
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ env.DOC_PYTHON_VERSION }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools tox
- name: Generate the documentation with tox
run: tox -e doc
- name: Upload HTML Documentation
uses: actions/upload-artifact@v2
with:
name: documentation-html
path: build/sphinx/html
retention-days: 5