Nightly Build #360
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: 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 |