diff --git a/.changeset/initial-release.md b/.changeset/initial-release.md deleted file mode 100644 index 3cd7ea5..0000000 --- a/.changeset/initial-release.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@karnstack/kino": patch ---- - -Initial release of kino, a premium themeable React video player with a pluggable-provider architecture. - -- Translucent glass / macOS-style player chrome: idle play overlay with speed pre-select, auto-hiding control bar, scrubber with buffered shading, drag-to-seek, and storyboard thumbnail previews. -- Speed, quality, and captions menus that gate themselves on provider and platform capabilities. -- Keyboard-first controls (play/pause, seek, volume, rate, mute, captions, fullscreen, and percent seek) that yield to focused text inputs. -- Themeable via the `accentColor` prop and `--kino-*` CSS custom properties. -- Mux provider built on the `@mux/mux-video` element, plus a `MuxPlayer` drop-in that accepts signed playback, thumbnail, and storyboard tokens (auth-agnostic; tokens are minted server-side). -- Headless `Player` root, store, and control primitives exported for custom chrome. -- React 19 peer dependency. Entry points: `@karnstack/kino`, `@karnstack/kino/mux`, and `@karnstack/kino/styles.css`. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 338823a..98f8756 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,15 @@ name: Release +# Runs automatically only AFTER the CI workflow succeeds on main, so a red +# main never publishes. The changesets flow then takes over: +# 1. add a changeset in your PR, merge to main +# 2. CI passes -> this opens/updates a "Version Packages" PR +# 3. merging THAT PR re-runs CI -> this publishes to npm on: - push: + workflow_run: + workflows: [CI] branches: [main] + types: [completed] concurrency: ${{ github.workflow }}-${{ github.ref }} @@ -13,9 +20,13 @@ permissions: jobs: release: + # Only release when CI on a push to main actually passed. + if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Installs Node and pnpm at the exact versions pinned in mise.toml. - name: Setup toolchain (mise)