Merge pull request #3157 from riley206/releases/9.0rc0 #744
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
--- | |
# This workflow is meant as a foundational workflow for running integration/unit tests on multiple targeted | |
# ubuntu versions with multiple python versions. | |
# | |
# This workflow utilizes the build-dependency-cache workflow which sets up the environment dependencies using | |
# bootstrap.py --all | |
# | |
# Documentation for the syntax of this file is located | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions | |
# The workflow name will show up in the action tab on github during execution | |
# https://github.com/VOLTTRON/volttron/actions (or if you are pushing to your own fork change the user) | |
name: Miscellaneous platform tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- develop | |
- releases/** | |
pull_request: | |
branches: | |
- main | |
- develop | |
- releases/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# The job named build | |
build: | |
# The strategy allows customization of the build and allows matrixing the version of os and software | |
# https://docs.github.com/en/free-pro-team@l.atest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategy | |
strategy: | |
fail-fast: false | |
matrix: | |
# Each entry in the os and python-version matrix will be run | |
os: [ ubuntu-20.04 ] | |
python-version: [ 3.8 ] | |
# Run-on determines the operating system available to run on | |
# - At the current time there is only ubuntu machine 20.04 available | |
# - This uses the matrix os from the strategy above | |
runs-on: ${{ matrix.os }} | |
# Each step will be run in order of listing. | |
steps: | |
# Checkout the volttron repository and set current direectory to it | |
- uses: actions/checkout@v4 | |
# Setup the python environment for the operating system | |
- name: Set up Python ${{matrix.os}} ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Run the specified tests and save the results to a unique file that can be archived for later analysis | |
- name: Run certs test on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v6 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/web/test_certs.py | |
test_output_suffix: misc | |
- name: Run core agent test on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v6 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/test_core_agent.py | |
test_output_suffix: misc | |
- name: Run packaging test on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v6 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/test_packaging.py | |
test_output_suffix: misc | |
- name: Run platform init test on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v6 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/test_platform_init.py | |
test_output_suffix: misc | |
- name: Run sqlite3 test on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v6 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/test_sqlite3_fix.py | |
test_output_suffix: misc | |
# Archive the results from the pytest to storage. | |
- name: Archive test results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: pytest-report | |
path: output/test-web-${{matrix.os}}-${{ matrix.python-version }}-results.xml |