features/.github/workflows/test-pr.yaml
Josh Spicer 01b46faa2d
smart auto-install multiple versions for node (#56)
* node

* fix comment (no-ci)

* Apply suggestions from code review

Co-authored-by: Samruddhi Khandale <skhandale@microsoft.com>

* update test scenario

* remove minor for node 18

* update scenarios to object notation

* add shabang

* only set default node once

Co-authored-by: Samruddhi Khandale <skhandale@microsoft.com>
2022-07-14 11:12:11 -07:00

60 lines
2 KiB
YAML

name: "(PR) Test Updated Features"
on:
pull_request:
jobs:
detect-changes:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'no-ci') && !contains(github.event.head_commit.message, 'CI ignore')"
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: ./**/common/**
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/**
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: " Testing '${{ matrix.features }}' against '${{ matrix.baseImage }}'"
run: npx --yes ./devcontainers-cli-0.7.0-jospicer01.tgz features test -f ${{ matrix.features }} -i ${{ matrix.baseImage }} -c `pwd`