name: Integration Test on: push: branches: - main paths: - config.json - Dockerfile - rootfs/** - .devcontainer/** pull_request: branches: - main paths: - config.json - Dockerfile - rootfs/** - .devcontainer/** # Home Assistant and the third-party add-on repository this test installs both # move independently of this repo, so the test can break with no change here. # Run it on a schedule to catch that on main rather than on an unrelated pull # request that happens to touch one of the paths above. schedule: - cron: "17 6 * * *" workflow_dispatch: jobs: integration: name: Integration test runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Check out repository uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Run integration test in devcontainer uses: devcontainers/ci@513af61f4de4f75d37e4438f184ba4358f0fc1ca # v0.3.1900000450 with: runCmd: bash .devcontainer/run-integration-test.sh stable # Early warning for Home Assistant changes that have not reached stable yet. # Deliberately never runs on a pull request, so a broken beta cannot block a # merge, and is non-blocking when it does run. canary: name: Integration test (beta) if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest timeout-minutes: 30 continue-on-error: true steps: - name: Check out repository uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Run integration test in devcontainer uses: devcontainers/ci@513af61f4de4f75d37e4438f184ba4358f0fc1ca # v0.3.1900000450 with: runCmd: bash .devcontainer/run-integration-test.sh beta