aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorJosh Spicer <joshspicer@github.com>2022-05-26 02:56:12 +0300
committerGitHub <noreply@github.com>2022-05-26 02:56:12 +0300
commit04f5d29fd077718a364fa79c76e103e5c0f3c1ad (patch)
tree91a7901e79e12d8e980b2614abaa08297f9545e7 /.github/workflows
parentf86091f02dfd16e122f420906d422616a60c27cd (diff)
smart PR action (#23)
* attempt at update action * Update test-pr.yaml * make a change to a source file * try out a few * easy case * filter * try a two-feature key * without jup * overthinking? * naming * changes * all * remove comments
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/test-all.yaml (renamed from .github/workflows/test.yaml)10
-rw-r--r--.github/workflows/test-manual.yaml2
-rw-r--r--.github/workflows/test-pr.yaml53
3 files changed, 59 insertions, 6 deletions
diff --git a/.github/workflows/test.yaml b/.github/workflows/test-all.yaml
index 2a40a8c..160ece6 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test-all.yaml
@@ -1,9 +1,8 @@
-name: "Test Features"
+name: "Test Features (CI)"
on:
push:
branches:
- main
- pull_request:
workflow_dispatch:
jobs:
@@ -22,17 +21,18 @@ jobs:
"docker-in-docker",
"dotnet",
"git",
- "github-cli",
"git-lfs",
+ "github-cli",
"go",
"gradle",
- "hugo",
+ "hugo",
"java",
- "php",
+ "jekyll",
"python jupyterlab", # Install 'python', then 'jupyterlab'
"kubectl-helm-minikube",
"maven",
"node",
+ "php",
"powershell",
"python",
"ruby",
diff --git a/.github/workflows/test-manual.yaml b/.github/workflows/test-manual.yaml
index 515805e..1f5e79b 100644
--- a/.github/workflows/test-manual.yaml
+++ b/.github/workflows/test-manual.yaml
@@ -1,4 +1,4 @@
-name: "Test Features (manual)"
+name: "Test Features (Manual)"
on:
workflow_dispatch:
inputs:
diff --git a/.github/workflows/test-pr.yaml b/.github/workflows/test-pr.yaml
new file mode 100644
index 0000000..96a81d9
--- /dev/null
+++ b/.github/workflows/test-pr.yaml
@@ -0,0 +1,53 @@
+name: "Test updated features (PR)"
+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: ./**/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/**
+ gradle: ./**/gradle/**
+ hugo: ./**/hugo/**
+ java: ./**/java/**
+ jekyll: ./**/jekyll/**
+ 'python jupyterlab': ./**/jupyterlab/**
+ kubectl-helm-minikube: ./**/kubectl-helm-minikube/**
+ maven: ./**/maven/**
+ node: ./**/node/**
+ php: ./**/php/**
+ powershell: ./**/powershell/**
+ python: ./**/python/**
+ ruby: ./**/ruby/**
+ rust: ./**/rust/**
+ sshd: ./**/sshd/**
+ terraform: ./**/terraform/**
+
+ test:
+ needs: detect-changes
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ features: ${{ fromJSON(needs.detect-changes.outputs.features) }}
+ baseImage: [ "ubuntu:focal" ]
+ steps:
+ - uses: actions/checkout@v2
+ - name: " Testing '${{ matrix.features }}' against '${{ matrix.baseImage }}'"
+ run: npx --yes ./devcontainers-cli-0.3.0.tgz features test -f ${{ matrix.features }} -i ${{ matrix.baseImage }} -c `pwd` \ No newline at end of file