aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test-pr.yaml
blob: 46334d7bdd268e4c933b67ee5696e197c8f178b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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`