name: Devcontainer

# spell-checker:ignore devcontainers nextest

on:
  pull_request:
  push:
    branches:
      - '*'

permissions:
  contents: read # to fetch code (actions/checkout)

# End the current execution if there is a new changeset in the PR.
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
  test:
    name: Verify devcontainer
    runs-on: ubuntu-latest
    timeout-minutes: 45
    steps:
    - uses: actions/checkout@v6
      with:
        persist-credentials: false
    - name: Run test in devcontainer
      uses: devcontainers/ci@v0.3
      with:
        push: never
        runCmd: |
            curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
            cargo nextest run --hide-progress-bar --profile ci
