Trackdown githactions #906
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: Testing platform web | |
on: | |
push: | |
branches: | |
- develop | |
- releases/** | |
pull_request: | |
branches: | |
- main | |
- develop | |
- releases/** | |
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/[email protected]/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 so for the 3 x 4 there will be 12 jobs 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 machines between 16.04 and 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@v4 | |
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 pytest on ${{ matrix.python-version }}, ${{ matrix.os }} | |
uses: volttron/volttron-build-action@v5 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: volttrontesting/platform/web | |
test_output_suffix: web | |
# Archive the results from the pytest to storage. | |
- name: Archive test results | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: pytest-report | |
path: output/test-web-${{matrix.os}}-${{ matrix.python-version }}-results.xml | |
# - name: Publish Unit Test Results | |
# uses: EnricoMi/[email protected] | |
# if: always() | |
# with: | |
# github_token: ${{ secrets.WORKFLOW_ACCESS_TOKEN }} | |
# files: output/test-testutils*.xml | |
#-cov=com --cov-report=xml --cov-report=html | |
# pytest tests.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html | |
# - name: Lint with flake8 | |
# run: | | |
# # stop the build if there are Python syntax errors or undefined names | |
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
# - name: Test with pytest | |
# run: | | |
# pytest --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html |