name: "CI - Test Features"
on:
  push:
    branches:
      - main
  pull_request:
  workflow_dispatch:

jobs:
  test-autogenerated:
    runs-on: ubuntu-latest
    continue-on-error: true
    strategy:
      matrix:
        features:
          - wine
        baseImage:
          - mcr.microsoft.com/devcontainers/base:debian
          - mcr.microsoft.com/devcontainers/base:ubuntu
    steps:
      - uses: actions/checkout@v3

      - 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:
          - wine
    steps:
      - uses: actions/checkout@v3

      - name: "Install latest devcontainer CLI"
        run: npm install -g @devcontainers/cli

      - name: "Generating tests for '${{ matrix.features }}' scenarios"
        run: devcontainer features test -f ${{ matrix.features }} --skip-autogenerated --skip-duplicated .