Hotfix/modbustk #950
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
--- | |
# 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 BackupDatabase | |
# Determine what events are going to trigger a running of the workflow | |
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: | |
build: | |
env: | |
TEST_FILE: volttrontesting/platform/dbutils/test_backup_database.py | |
# 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. For example, on a list of 3 os's and 4 python versions, 12 jobs 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 machines between 16.04 and 20.04 available | |
# - This uses the matrix os from the strategy above | |
runs-on: ${{ matrix.os }} | |
steps: | |
# checkout the volttron repository and set current directory 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 }} | |
- name: Create output suffix | |
run: | | |
echo "OUTPUT_SUFFIX=$(basename $TEST_FILE)" >> $GITHUB_ENV | |
# 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@v6 | |
timeout-minutes: 600 | |
with: | |
python_version: ${{ matrix.python-version }} | |
os: ${{ matrix.os }} | |
test_path: ${{ env.TEST_FILE }} | |
test_output_suffix: ${{ env.OUTPUT_SUFFIX }} | |
# Archive the results from the pytest to storage. | |
- name: Archive test results | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: pytest-report | |
# should match test-<test_output_suffix>- ... | |
path: output/test-${{ env.OUTPUT_SUFFIX }}-${{matrix.os}}-${{ matrix.python-version }}-results.xml |