Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
74cda02
chore: switch from npm to pnpm as package manager
devin-ai-integration[bot] May 28, 2026
0ff25b7
fix: update jsdoc plugin paths for pnpm node_modules structure
devin-ai-integration[bot] May 28, 2026
3f5f08a
fix: add explicit puppeteer browser install step in CI
devin-ai-integration[bot] May 28, 2026
a629a8d
fix: skip puppeteer download during pnpm ci to avoid corrupt cache
devin-ai-integration[bot] May 28, 2026
619896d
fix: use npx for puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
eaa7a45
chore: reorder pnpm-workspace.yaml - move policy directives to top
devin-ai-integration[bot] May 28, 2026
2c55ec5
Merge remote-tracking branch 'origin/main' into devin/1779934552-swit…
devin-ai-integration[bot] May 28, 2026
e28d4b6
chore: update start:projects script after publisher-demo removal
devin-ai-integration[bot] May 28, 2026
0ee6b2e
fix: use pnpm exec for puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
284a146
fix: add puppeteer download workaround to new-release.yml
devin-ai-integration[bot] May 28, 2026
c80f8fc
chore: remove unused nx.json - nx was never installed
devin-ai-integration[bot] May 28, 2026
f18745c
fix: use node install.mjs for reliable puppeteer browser install in CI
devin-ai-integration[bot] May 28, 2026
0c4087c
remove packages for removed apps
nicholi May 28, 2026
b1bbf9b
drop old package-lock files
nicholi May 28, 2026
0c3e22a
drop next workflow stuff
nicholi May 28, 2026
7fbf17b
add composite build action
nicholi May 28, 2026
e0ab82c
skip new-release work for next as well
nicholi May 28, 2026
203aa7d
add node-release and pnpm-build-publish workflows
nicholi May 28, 2026
b261e22
bump to recent workflow versions
nicholi May 28, 2026
19a3b52
bump to recent workflow versions
nicholi May 28, 2026
8749a36
bump to recent workflow versions
nicholi May 28, 2026
9c6d9ef
consistent always use ./ for packages path
nicholi May 28, 2026
4637003
consistent always use ./ for packages path
nicholi May 28, 2026
820cfc2
seems like we need build-essentials
nicholi May 28, 2026
a07c105
whoops alpine here
nicholi May 28, 2026
6087674
bump unix-dgram to 2.0.7 for better node 24 support
nicholi May 28, 2026
734cd7d
remove test
nicholi May 28, 2026
94c9124
we don't need to install puppeteer browsers here?
nicholi May 28, 2026
70f1263
dependencies first
nicholi May 28, 2026
7e48287
also need python3
nicholi May 28, 2026
3ab8589
remove test
nicholi May 28, 2026
279a07c
ignore PUPPETEER_SKIP_CHROMIUM_DOWNLOAD everywhere
nicholi May 28, 2026
4115043
add nvmrc with expected node 24
nicholi May 28, 2026
bba403b
install chromium manually
nicholi May 28, 2026
86bfbcb
need sudo
nicholi May 28, 2026
5808400
set PUPPETEER_EXECUTABLE_PATH
nicholi May 28, 2026
84504e3
same steps for e2e-test
nicholi May 28, 2026
7852fe1
check-tests can be used in place of dryrun here
nicholi May 28, 2026
dcf942d
move composite action pnpn-build directly into pnpm-build-publish
nicholi May 28, 2026
a4f7f32
just hardcode pnpm-build-publish to work with millicast-sdk
nicholi May 28, 2026
4877871
copy README and changedirs first
nicholi May 28, 2026
87fdbe1
un-necessary external script
nicholi May 28, 2026
d15eee7
skip tests in new-release
nicholi May 28, 2026
5400c9f
add problematic packages to trustPolicyExclude
nicholi May 28, 2026
b7ece2d
drop husky, lint-staged, and git hooks
nicholi May 28, 2026
f625500
add deploying github pages during node-release
nicholi May 28, 2026
a88266a
add deploying github pages during node-release
nicholi May 28, 2026
bc4e1f0
millicast-sdk used next dist-tag historically
nicholi May 28, 2026
6926f05
required to use --no-git-checks because we copy the README
nicholi May 28, 2026
d229688
there are no scripts
nicholi May 28, 2026
65c351a
both fully moved out of repo
nicholi May 28, 2026
fdb7a98
run tests on every commit and every tag, doesn't matter what branch
nicholi May 28, 2026
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
101 changes: 78 additions & 23 deletions .github/workflows/check-tests.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,111 @@
name: Check tests

on:
workflow_dispatch:
push:
tags:
- '**'
branches:
- main

pull_request:
branches:
- main

workflow_dispatch:
- '**'
Comment thread
nicholi marked this conversation as resolved.

jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
shell: bash
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
run: |
corepack enable
pnpm ci
Comment thread
nicholi marked this conversation as resolved.

- name: Check Linter and Build 📑
shell: bash
run: |
npm run build
npx eslint . --ext .js,.jsx,.ts,.tsx
pnpm run build
pnpm exec eslint . --ext .js,.jsx,.ts,.tsx

unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
shell: bash
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
run: |
corepack enable
pnpm ci
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.

- name: Install Chromium
shell: bash
run: |
sudo apt-get update -qq -y
sudo apt-get install -qq -y chromium-browser
echo "PUPPETEER_EXECUTABLE_PATH=$(which chromium-browser)" >> "${GITHUB_ENV}"

- name: Unit Testing 🧪
shell: bash
working-directory: './packages/millicast-sdk'
run: npm run test-unit
run: pnpm run test-unit

e2e-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
- name: End-2-End Testing
shell: bash
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
run: |
corepack enable
pnpm ci
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.

- name: Install Chromium
shell: bash
run: |
sudo apt-get update -qq -y
sudo apt-get install -qq -y chromium-browser
echo "PUPPETEER_EXECUTABLE_PATH=$(which chromium-browser)" >> "${GITHUB_ENV}"

- name: End-to-End Testing
shell: bash
working-directory: './packages/millicast-sdk'
run: npm run test-e2e
env:
ACCOUNT_ID: ${{vars.PUBLISHER_DEMO_ACC_ID}}
PUBLISH_TOKEN: ${{secrets.PUBLISHER_DEMO_TOKEN}}
ACCOUNT_ID: ${{ vars.PUBLISHER_DEMO_ACC_ID }}
PUBLISH_TOKEN: ${{ secrets.PUBLISHER_DEMO_TOKEN }}
run: pnpm run test-e2e

build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24

- name: Install the dependencies 🧱
run: npm ci
shell: bash
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
run: |
corepack enable
pnpm ci
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.

- name: build docs
run: npm run build-docs
shell: bash
run: pnpm run build-docs
9 changes: 5 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ on:
branches: ['main']
#schedule:
# - cron: '34 2 * * 3'
workflow_dispatch:

jobs:
analyze:
Expand All @@ -38,11 +39,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -55,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -68,6 +69,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
with:
category: '/language:${{matrix.language}}'
76 changes: 0 additions & 76 deletions .github/workflows/new-release.yml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/node-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: 'RELEASE: Bump version, create tag/release, and pnpm publish'

on:
workflow_dispatch:
inputs:
bump_version:
type: choice
required: true
description: Which part of version to bump
options:
- patch
- minor
- major
- prerelease
prerelease_id:
type: string
required: false
# only used if bump_version is 'prerelease'
# otherwise can be ignored
description: Prerelease identifier
default: 'next'
skip_publish:
type: boolean
required: false
description: Skip pnpm publish
default: false

jobs:
next-version:
uses: millicast/github-actions/.github/workflows/npm-version-release.yml@v1.0.2
# should ONLY be used from main
if: github.ref_name == 'main' || inputs.bump_version == 'prerelease'
permissions:
contents: write
secrets: inherit
with:
bump_version: ${{ inputs.bump_version }}
prerelease_id: ${{ inputs.prerelease_id }}
skip_tag: ${{ inputs.bump_version == 'prerelease' }}

build-publish:
uses: ./.github/workflows/pnpm-build-publish.yml
needs: [next-version]
if: success() && inputs.skip_publish != true
permissions:
contents: read
id-token: write
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
pages: write
with:
ref: ${{ inputs.bump_version != 'prerelease' && format('v{0}', needs.next-version.outputs.semVer) || needs.next-version.outputs.newHeadSha }}
dist_tag: ${{ inputs.bump_version == 'prerelease' && inputs.prerelease_id || '' }}
Comment thread
nicholi marked this conversation as resolved.
85 changes: 85 additions & 0 deletions .github/workflows/pnpm-build-publish.yml
Comment thread
nicholi marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: pnpm-build-publish

on:
workflow_dispatch:
inputs:
ref:
description: 'git reference to checkout'
required: true
type: string
dist_tag:
description: 'Distribution tag to publish package with'
required: false
type: string
workflow_call:
inputs:
ref:
required: true
type: string
dist_tag:
required: false
type: string

jobs:
build-publish:
name: "build-publish ${{ inputs.ref }}"
runs-on: ubuntu-latest
container: node:24-alpine
Comment thread
nicholi marked this conversation as resolved.
permissions:
contents: read
id-token: write
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
pages: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- uses: actions/checkout@v6
with:
ref: ${{ inputs.ref }}

- name: Setup GitHub Pages 🛠
uses: actions/configure-pages@v6

- name: "pnpm build"
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
shell: 'ash -e -o pipefail {0}'
run: |
# some packages use node-gyp
apk add --no-cache build-base python3

cp README.md ./packages/millicast-sdk/
cd ./packages/millicast-sdk/

corepack enable
pnpm ci

pnpm run build
pnpm run build-docs

printf '\nNODE: %s\nPNPM: %s\n\n' "$(node --version)" "$(pnpm --version)"

- name: Upload artifact ⬆️
uses: actions/upload-pages-artifact@v5
with:
path: './packages/millicast-sdk/docs'

- name: Deploy to GitHub Pages 🚀
id: deployment
uses: actions/deploy-pages@v5

- name: "pnpm publish"
env:
dist_tag: ${{ inputs.dist_tag }}
shell: 'ash -e -o pipefail {0}'
run: |
cd ./packages/millicast-sdk/

set --
if [ -n "${dist_tag}" ]; then
set -- "$@" --tag "${dist_tag}"
fi

pnpm publish --provenance --no-git-checks "$@"
Loading