Skip to content
Open
Show file tree
Hide file tree
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
11 changes: 7 additions & 4 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,22 +130,25 @@ jobs:
# Used for running node scripts against all changed packages since the last push to the target branch.
- id: generate-package-matrix-node-changed
name: Generate Package Matrix
run: echo "node-changed=$(yarn package-tools list --mode node --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
# webexconnect is a private package and is already omitted by `list` (--no-private is the default);
# this sed is an explicit second guard so `@webex/webexconnect` can never leak into the deploy matrix
# even if `private: true` is ever accidentally removed from its package.json.
run: echo "node-changed=$(yarn package-tools list --mode node --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT

# Used for running node scripts against all changed packages, and their dependents, since the last push to the target branch.
- id: generate-package-matrix-node-recursive
name: Generate Package Matrix
run: echo "node-recursive=$(yarn package-tools list --mode node --recursive --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
run: echo "node-recursive=$(yarn package-tools list --mode node --recursive --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT

# Used for running yarn tools against all changed packages since the last push to the target branch.
- id: generate-package-matrix-yarn-changed
name: Generate Package Matrix
run: echo "yarn-changed=$(yarn package-tools list --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
run: echo "yarn-changed=$(yarn package-tools list --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT

# Used for running yarn tools against all changed packages, and their dependents, since the last push to the target branch.
- id: generate-package-matrix-yarn-recursive
name: Generate Package Matrix
run: echo "yarn-recursive=$(yarn package-tools list --recursive --since ${{ github.event.before }})" >> $GITHUB_OUTPUT
run: echo "yarn-recursive=$(yarn package-tools list --recursive --since ${{ github.event.before }} | sed -E 's#@webex/webexconnect##g; s#,+#,#g; s#\{,#{#g; s#,\}#}#g; s# +# #g; s#^ ##; s# $##')" >> $GITHUB_OUTPUT

- name: Display Package Matrix
run: |
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/webexconnect-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Webex Connect Deploy

run-name: ${{ github.actor }} is building @webex/webexconnect artifacts

# SCAFFOLD ONLY — this workflow intentionally never triggers on push to `next`.
# It builds and tests the private @webex/webexconnect package and assembles its
# distributable artifacts. The actual publish step is deliberately left as a TODO
# pending security/legal review; do not add a real publish step without sign-off.
on:
workflow_dispatch: {}
push:
tags:
- 'webexconnect-v*'

jobs:
build-and-test:
name: Build & Test @webex/webexconnect
runs-on: ubuntu-latest

steps:
- name: Checkout Project
uses: actions/checkout@v6

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
cache: 'yarn'

- name: Install Dependencies
run: yarn

- name: Build package
run: yarn workspace @webex/webexconnect run build:src

- name: Test package
run: yarn workspace @webex/webexconnect run test

- name: Assemble artifacts
run: |
mkdir -p webexconnect-artifacts
cp packages/webexconnect/dist/webex-connect-sdk.min.js webexconnect-artifacts/
cp packages/webexconnect/dist/webex-connect-sdk.min.js.map webexconnect-artifacts/
cp packages/webexconnect/dist/sw.min.js webexconnect-artifacts/
cp packages/webexconnect/dist/sw.min.js.map webexconnect-artifacts/
ls -la webexconnect-artifacts

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: webexconnect-sdk
path: webexconnect-artifacts
if-no-files-found: error

# TODO: Publish step intentionally omitted.
# Distribution of @webex/webexconnect (e.g. pushing the minified bundles +
# source maps to the public distribution repo via an explicit file allowlist)
# must not be wired up until security/legal review is complete and explicit
# sign-off is given. Do NOT add `yarn npm publish` or any deploy action here.
2 changes: 2 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ <h2 class="page-header">Samples</h2>
<a href="./samples/browser-socket/" class="list-group-item">Socket</a>

<a href="./samples/plugin-encryption/" class="list-group-item">Encryption Plugin</a>

<a href="./samples/webexconnect/" class="list-group-item">Webex Connect</a>
</div>
</div>
<div class="col-md-3">
Expand Down
1 change: 1 addition & 0 deletions docs/samples/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ <h1>Hosted Samples</h1>
<li><a href="browser-plugin-meetings">Browser plugin meetings</a></li>
<li><a href="browser-read-status">Browser read status</a></li>
<li><a href="browser-socket">Browser socket</a></li>
<li><a href="webexconnect">Webex Connect</a></li>
</ul>
</body>
</html>
Loading
Loading