Skip to content

One dep pr to rule them all part7 (#557) #1899

One dep pr to rule them all part7 (#557)

One dep pr to rule them all part7 (#557) #1899

Workflow file for this run

#
# MIT License
#
# (C) Copyright 2023-2024 Hewlett Packard Enterprise Development LP
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the 'Software'),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
name: Python (unit tests)
on:
push:
workflow_dispatch:
jobs:
unit_tests:
name: Tests and Coverage
strategy:
matrix:
version: ['3.12', '3.11', '3.10', '3.9']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Also fetch git-tags
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.version }}
- name: nox
env:
GIT_REPO_NAME: "${GITHUB_REPOSITORY#*/}"
run: |
pip install setuptools_scm[toml] '.[test]'
make unit
integration_tests:
strategy:
matrix:
version: ['3.12', '3.11', '3.10', '3.9']
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.version }}
- if: ${{ matrix.os == 'ubuntu-latest' }}
uses: cachix/install-nix-action@v30
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
experimental-features = nix-command flakes
- if: ${{ matrix.os == 'ubuntu-latest' }}
name: Run shellspec
run: |
pip install setuptools_scm[toml] '.[test]'
nix-shell -p shellspec --run 'make integration'
- if: ${{ matrix.os == 'macos-latest' }}
name: Install shellspec (macOS)
run: |
brew tap shellspec/shellspec
brew update
brew install shellspec ksh93 bash
- if: ${{ matrix.os == 'macos-latest' }}
name: Run integration tests via shellspec
run: |
pip install setuptools_scm[toml] '.[test]'
make integration