diff options
author | Josh Spicer <joshspicer@github.com> | 2022-06-03 17:46:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-03 17:46:25 +0300 |
commit | c12a205ab8e195541acfe0cb654b4888e16ea05c (patch) | |
tree | a1a45ac7dec9f31fa62972a65414b6d6fd1fd60d /.github | |
parent | 283b8e1f8f5dec9e54199c107e772ce56683769e (diff) |
Pass options via environment variables (#39)
* up to docker-in-docker converted
* first pass at the rest of the features (and bash linting and updated CLI
* move shell linter to own file
* rename feature.json -> devcontainer-feature.json
* continue on error
* continue on error in right spot
* formatting
* fix AZ_VERSION
* update python
* restore variable name
* update linter actions, fix dind/dfd/desktop scripts, add test-scenaerios
* add tree because I like tree
* glob for shell linter
* fix test-scenarios
* shell linter
* more shell helper
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/linter-automated.yaml | 18 | ||||
-rw-r--r-- | .github/workflows/linter-manual.yaml | 24 | ||||
-rw-r--r-- | .github/workflows/test-pr.yaml | 74 | ||||
-rw-r--r-- | .github/workflows/test-scenarios.yaml | 15 |
4 files changed, 98 insertions, 33 deletions
diff --git a/.github/workflows/linter-automated.yaml b/.github/workflows/linter-automated.yaml new file mode 100644 index 0000000..7ff4015 --- /dev/null +++ b/.github/workflows/linter-automated.yaml @@ -0,0 +1,18 @@ +name: "Shell script linter" +on: + push: + branches: + - main + pull_request: + +jobs: + shellchecker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Shell Linter + uses: azohra/shell-linter@v0.6.0 + with: + path: "src/**/*.sh" + severity: "error" # [style, info, warning, error]
\ No newline at end of file diff --git a/.github/workflows/linter-manual.yaml b/.github/workflows/linter-manual.yaml new file mode 100644 index 0000000..79d88d0 --- /dev/null +++ b/.github/workflows/linter-manual.yaml @@ -0,0 +1,24 @@ +name: "Shell script linter (manual)" +on: + workflow_dispatch: + inputs: + path: + description: "Path to the shell scripts to lint" + required: true + default: "src/**/*.sh" + severity: + description: "Minimum Severity (style, info, warning, error)" + required: true + default: "style" + +jobs: + shellchecker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Shell Linter + uses: azohra/shell-linter@v0.6.0 + with: + path: ${{ github.event.inputs.path }} + severity: ${{ github.event.inputs.severity }}
\ No newline at end of file diff --git a/.github/workflows/test-pr.yaml b/.github/workflows/test-pr.yaml index cafee9c..cb55100 100644 --- a/.github/workflows/test-pr.yaml +++ b/.github/workflows/test-pr.yaml @@ -1,5 +1,5 @@ name: "Test updated features (PR)" -on: +on: pull_request: jobs: @@ -8,44 +8,52 @@ jobs: 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/** - 'python jupyterlab': ./**/jupyterlab/** - kubectl-helm-minikube: ./**/kubectl-helm-minikube/** - node: ./**/node/** - oryx: ./**/oryx/** - php: ./**/php/** - powershell: ./**/powershell/** - python: ./**/python/** - ruby: ./**/ruby/** - rust: ./**/rust/** - sshd: ./**/sshd/** - terraform: ./**/terraform/** + - 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/** + 'python jupyterlab': ./**/jupyterlab/** + 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: + 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" ] + 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.3.0.tgz features test -f ${{ matrix.features }} -i ${{ matrix.baseImage }} -c `pwd`
\ No newline at end of file + run: npx --yes ./devcontainers-cli-0.3.0.tgz features test -f ${{ matrix.features }} -i ${{ matrix.baseImage }} -c `pwd` diff --git a/.github/workflows/test-scenarios.yaml b/.github/workflows/test-scenarios.yaml new file mode 100644 index 0000000..5393449 --- /dev/null +++ b/.github/workflows/test-scenarios.yaml @@ -0,0 +1,15 @@ +name: "Test Scenarios" +on: + pull_request: + push: + branches: + - main + workflow_dispatch: + +jobs: + scenarios: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: " Running predefined test scenarios" + run: npx --yes ./devcontainers-cli-0.3.0.tgz features test --scenarios `pwd`/test-scenarios -c `pwd` |