Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/channel_compat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Channel Compat

# Run the unit tests against the package versions an OVOS distro release
# channel pins, instead of against current dev siblings.
#
# The distro publishes one constraints file per channel, fetched live by the
# reusable workflow and uploaded as an artifact. As of writing, `stable` pins
# ovos-workshop 3.4.x and `testing` pins 7.0.x, against an ovos-core of 1.3.x
# and 2.1.x respectively — both far below dev. That gap matters most here:
# workshop is what a skill container freezes, so a workshop change that is green
# on dev can still break every skill on the fleet.
#
# This is the third layer of the compat program:
#
# boundary pins where did the behavior change?
# (ovos-test-harness test/backcompat)
# channels what does the fleet run today? (this file)
# dev edge where is the stack going? (build_tests.yml)
#
# soft_fail is TRUE for now. A channel is behind dev by construction, so
# the first runs are expected to fail a pile of tests — that is the finding, not
# a broken job. TURN soft_fail OFF once the baseline is established, the same
# way ovos-test-harness did it: check in a per-channel known-gap file, strict-
# xfail exactly those node ids, and let anything else be red.
# See https://github.com/OpenVoiceOS/ovos-test-harness (test/channel_gaps/).

on:
pull_request:
branches: [dev]
push:
branches: [dev]
schedule:
# The channels move on the distro's schedule, not on this repo's.
- cron: "0 6 * * 1"
workflow_dispatch:

jobs:
channel-compat:
strategy:
fail-fast: false
matrix:
include:
- channel: stable
url: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-stable.txt
- channel: testing
url: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-testing.txt
name: ${{ matrix.channel }}
uses: OpenVoiceOS/gh-automations/.github/workflows/channel-compat.yml@dev
secrets: inherit
with:
channel_url: ${{ matrix.url }}
channel_name: ${{ matrix.channel }}
# GitHub rejects `continue-on-error` on a job that calls a reusable
# workflow, so the advisory mode is an input instead.
soft_fail: true
test_path: 'test/unittests'
install_extras: 'test'
Loading