Skip to content

Removing flaky tests which are not compatible configurations and not … #588

Removing flaky tests which are not compatible configurations and not …

Removing flaky tests which are not compatible configurations and not … #588

Workflow file for this run

name: "CI - Test Features"
on:
push:
branches:
- main
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
features: [
"anaconda",
"aws-cli",
"azure-cli",
"common-utils",
"conda",
"copilot-cli",
"desktop-lite",
"docker-outside-of-docker",
"docker-in-docker",
"dotnet",
"git",
"git-lfs",
"github-cli",
"go",
"hugo",
"java",
"kubectl-helm-minikube",
"node",
"nvidia-cuda",
"oryx",
"php",
"powershell",
"python",
"ruby",
"rust",
"sshd",
"terraform",
"nix",
]
baseImage:
[
"ubuntu:jammy",
"debian:11",
"debian:12",
"mcr.microsoft.com/devcontainers/base:ubuntu",
"mcr.microsoft.com/devcontainers/base:debian",
"mcr.microsoft.com/devcontainers/base:noble"
]
exclude:
- features: oryx
baseImage: ubuntu:jammy
- features: oryx
baseImage: mcr.microsoft.com/devcontainers/base:ubuntu
- features: docker-in-docker
baseImage: mcr.microsoft.com/devcontainers/base:debian
- features: docker-outside-of-docker
baseImage: mcr.microsoft.com/devcontainers/base:debian
- features: docker-in-docker
baseImage: mcr.microsoft.com/devcontainers/base:ubuntu
- features: docker-outside-of-docker
baseImage: mcr.microsoft.com/devcontainers/base:ubuntu
steps:
- uses: actions/checkout@v7
- name: "Install latest devcontainer CLI"
run: npm install -g @devcontainers/cli
- name: "Generating tests for '${{ matrix.features }}' against '${{ matrix.baseImage }}'"
run: devcontainer features test --skip-scenarios -f ${{ matrix.features }} -i ${{ matrix.baseImage }} .
test-scenarios:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
features: [
"anaconda",
"aws-cli",
"azure-cli",
"common-utils",
"conda",
"copilot-cli",
"desktop-lite",
"docker-outside-of-docker",
"docker-in-docker",
"dotnet",
"git",
"git-lfs",
"github-cli",
"go",
"hugo",
"java",
"kubectl-helm-minikube",
"node",
"nvidia-cuda",
"oryx",
"php",
"powershell",
"python",
"ruby",
"rust",
"sshd",
"terraform",
"nix",
]
steps:
- uses: actions/checkout@v7
- name: "Install latest devcontainer CLI"
run: npm install -g @devcontainers/cli
- name: "Exclude iptables-isolation scenarios from docker-in-docker (run in separate 'iptables-isolation' job)"
if: matrix.features == 'docker-in-docker'
run: |
sudo apt-get update && sudo apt-get install -y jq
sed 's://.*$::' test/docker-in-docker/scenarios.json \
| jq 'del(.docker_with_default_iptables, .docker_with_default_iptables_ubuntu)' \
> test/docker-in-docker/scenarios.json.tmp
mv test/docker-in-docker/scenarios.json.tmp test/docker-in-docker/scenarios.json
- name: "Testing '${{ matrix.features }}' scenarios"
run: devcontainer features test -f ${{ matrix.features }} --skip-autogenerated .
test-global:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v7
- name: "Install latest devcontainer CLI"
run: npm install -g @devcontainers/cli
- name: "Testing global scenarios"
run: devcontainer features test --global-scenarios-only .