Skip to content

Conversation

@joker23
Copy link
Contributor

@joker23 joker23 commented Nov 12, 2025

This PR will add initial CI for pre-releasing the LD Shopify Oxygen SDK.

Additional changes:

  • fixed minor typo in docs
  • added to CI_CONTRIBUTING docs for the pre-release process

Note

Sets up CI, release/publish config, and docs for the new Shopify Oxygen SDK.

  • CI/Workflows:
    • Add sdk/shopify-oxygen workflow (.github/workflows/shopify-oxygen.yml) for build/test.
    • Include packages/sdk/shopify-oxygen in manual publish workflows (manual-publish*.yml).
  • Release Configuration:
    • Add packages/sdk/shopify-oxygen to .release-please-manifest.json as 0.0.0.
    • Configure release-please-config.json for Shopify Oxygen (pre-1.0 settings, release-as: 0.1.0, bootstrap-sha, extra-files).
  • Package Setup:
    • Add TypeScript project reference (tsconfig.json) and adjust package tsconfig.ref.json to extend local config.
    • Add typedoc.json for docs generation in packages/sdk/shopify-oxygen.
  • Docs:
    • Add contributing/publishing.md and link from CONTRIBUTING.md; fix "Dependencies" heading typo.

Written by Cursor Bugbot for commit 9a544cc. This will update automatically on new commits. Configure here.

@joker23 joker23 marked this pull request as ready for review November 12, 2025 22:02
@joker23 joker23 requested a review from a team as a code owner November 12, 2025 22:03
@github-actions
Copy link
Contributor

@launchdarkly/browser size report
This is the brotli compressed size of the ESM build.
Compressed size: 169118 bytes
Compressed size limit: 200000
Uncompressed size: 789399 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 24988 bytes
Compressed size limit: 26000
Uncompressed size: 122411 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-client-sdk-common size report
This is the brotli compressed size of the ESM build.
Compressed size: 17636 bytes
Compressed size limit: 20000
Uncompressed size: 90259 bytes

@github-actions
Copy link
Contributor

@launchdarkly/js-client-sdk size report
This is the brotli compressed size of the ESM build.
Compressed size: 21721 bytes
Compressed size limit: 25000
Uncompressed size: 74698 bytes

@joker23 joker23 force-pushed the szhang/sdk-1560/oxygen-sdk-ci branch from b84d1b5 to 996a8f9 Compare November 12, 2025 22:19
@@ -0,0 +1,70 @@
# Creating pre-releases modules
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently I am putting this along side https://github.com/launchdarkly/js-core/blob/main/contributing/initial-package-publish.md, should I just combine them?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say we combine them. Ideally link the top-level CONTRIBUTING.md to the nested doc for discoverability.

@joker23 joker23 force-pushed the szhang/sdk-1560/oxygen-sdk-ci branch from 996a8f9 to c3c133b Compare November 12, 2025 23:06
build-test-shopify-oxygen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally speaking we should used a SHA for these instead of a version. But it may be better to do that in its own PR as I recently did for C++.

https://github.com/launchdarkly/cpp-sdks/pull/500/files

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like there is also a PR against this repo #955 that might address this? Is there an easy way to get the image digest for these action images? I am having a hard time referencing them with docker pull/inspect

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There just the SHA of the associated git repo. Each action is either a repo, or in a mono-repo.
https://github.com/actions/checkout

So the SHA of the tag associated with the release.
image

In a mono-repo there will likely be a tag per action, such as in our case: https://github.com/launchdarkly/gh-actions/releases/tag/persistent-stores-v0.1.2

Add a record of your new SDK package to `packages`
```
"PATH_TO_YOUR_PACKAGE": {
"prerelease": true,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure about this part. Is this part of the release-please manifest?

In our publishing process we do have a prerelease setting, which just controls the label applied, but typically that would only really matter post 1.0. In order to keep npm i @launchdarkly/whatever from installing a pre-release. But pre 1.0 that is fine and potentially desired.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can manually trigger this action from this branch to determine if everything is working as expected. Pre-publishing the docs won't hurt.

You would not want to do the same for the manual-publish.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit also made some small changes to the release please config
@joker23 joker23 requested a review from kinyoklion November 13, 2025 16:17
@joker23 joker23 merged commit 759e63e into main Nov 13, 2025
36 checks passed
@joker23 joker23 deleted the szhang/sdk-1560/oxygen-sdk-ci branch November 13, 2025 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants