features/.github/workflows/test-pr.yaml
JP Ungaretti ea030fa0ae
Add new NVIDIA CUDA feature (#80)
* Add new Nvidia feature

* Remove random empty files

* Update comments

* Rename feature to nvidia-cuda

* Add feature to tests

* Add version

* Move test to match new name

* Add final output message

* Fix capitalization of NVIDIA

* Remove option for base CUDA

* Use camelCase

* Check for required packages

* Use os-release instead of lsb_release

* Clean up keyring variables

* Collapse keyring lines

* Always install CUDA libraries

* Add option to install NVTX

* Always use ubuntu2004 repo

* Use test instead of brackets

* Add default values to feature

* Add version options for CUDA and cuDNN

* Rename CUDA version option

* Add scenario to test specific CUDA/cuDNN version

* Rename cuDNN scenario

* Fix typo in test scenario

* Update variable casing

* Add more helpful error messages

* Remove default values from script

* Use enum for version option

* Polish new scenarios

* Remove apt_get_update_if_needed and check_packages

* Add more versions

* Improve error messages

* Comments and feature description

Co-authored-by: Josh Spicer <joshspicer@github.com>
2022-08-21 14:22:51 -04:00

64 lines
2 KiB
YAML

name: "PR -Test Updated Features"
on:
pull_request:
jobs:
detect-changes:
runs-on: ubuntu-latest
outputs:
features: ${{ steps.filter.outputs.changes }}
steps:
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
anaconda: ./**/anaconda/**
aws-cli: ./**/aws-cli/**
azure-cli: ./**/azure-cli/**
common-utils: ./**/common-utils/**
desktop-lite: ./**/desktop-lite/**
docker-from-docker: ./**/docker-from-docker/**
docker-in-docker: ./**/docker-in-docker/**
dotnet: ./**/dotnet/**
git: ./**/git/**
git-lfs: ./**/git-lfs/**
github-cli: ./**/github-cli/**
go: ./**/go/**
hugo: ./**/hugo/**
java: ./**/java/**
kubectl-helm-minikube: ./**/kubectl-helm-minikube/**
node: ./**/node/**
nvidia-cuda: ./**/nvidia-cuda/**
oryx: ./**/oryx/**
php: ./**/php/**
powershell: ./**/powershell/**
python: ./**/python/**
ruby: ./**/ruby/**
rust: ./**/rust/**
sshd: ./**/sshd/**
terraform: ./**/terraform/**
test:
needs: [detect-changes]
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
features: ${{ fromJSON(needs.detect-changes.outputs.features) }}
baseImage:
[
"ubuntu:focal",
"ubuntu:jammy",
"debian:11",
"mcr.microsoft.com/vscode/devcontainers/base:ubuntu",
"mcr.microsoft.com/vscode/devcontainers/base:debian",
]
steps:
- uses: actions/checkout@v2
- name: "Install latest devcontainer CLI"
run: npm install -g @devcontainers/cli
- name: "Testing '${{ matrix.features }}' against '${{ matrix.baseImage }}'"
run: devcontainer features test -f ${{ matrix.features }} -i ${{ matrix.baseImage }} -c `pwd`