Skip to content

Conversation

@namsnath
Copy link
Contributor

@namsnath namsnath commented Aug 7, 2025

  • Sets up dev/release tag pipelines
  • Adds script to populate common constants
  • Updates workflows to run on PRs and dev-tags

Summary of change

(A few sentences about this PR)

Related issues

  • Link to issue1 here
  • Link to issue1 here

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)

Documentation changes

(If relevant, please create a PR in our docs repo, or create a checklist here highlighting the necessary changes)

Checklist for important updates

  • Changelog has been updated
  • frontendDriverInterfaceSupported.json file has been updated (if needed)
  • Changes to the version if needed
    • In package.json
    • In package-lock.json
    • In lib/ts/version.ts
  • Had run npm run build-pretty
  • Had installed and ran the pre-commit hook
  • Issue this PR against the latest non released version branch.
    • To know which one it is, run find the latest released tag (git tag) in the format vX.Y.Z, and then find the latest branch (git branch --all) whose X.Y is greater than the latest released tag.
    • If no such branch exists, then create one from the latest released branch.
  • If added a new recipe interface, then make sure that the implementation of it uses NON arrow functions only (like someFunc: function () {..}).
  • If I added a new recipe, I also added the recipe entry point into the size-limit section of package.json with the size limit set to the current size rounded up.
  • If I added a new recipe, I also added the recipe entry point into the rollup.config.mjs
  • If I added a new login method, I modified the list in lib/ts/types.ts
  • If I added a factor id, I modified the list in lib/ts/recipe/multifactorauth/types.ts

Remaining TODOs for this PR

  • Item1
  • Item2

namsnath added 30 commits April 21, 2025 12:53
- Removes Start/Stop/Clean/Setup ST functions
- Adds a `/test/setup` endpoint to use `setupApp`
- Adds generic backend hook endpoints
- Adds screenshots to report
- Adds defaults to `.mocharc.yml`
- Each test runs independently
- Adds some additional steps to ensure tests are independent
- Cleans up test hooks
- Fixes verification failure test that relied on core being stopped
    - Adds intercept to fail verification query
- Each test runs independently
- Adds some additional steps to ensure tests are independent
- Cleans up test hooks
- Same appId can be re-used and will not create new apps
- Each test runs independently
- Adds some additional steps to ensure tests are independent
- Cleans up test hooks
- Each test runs independently
- Cleans up test hooks
deepjyoti30-st and others added 15 commits April 21, 2025 12:53
…/v0.49.0

[v0.49.0] feat: e2e tests use containerized core
* fix: awaits `setupST` calls

* fix: `after` hook page close failures
## Summary of change

This PR adds e2e test flows for webauthn and accountlinking

## Related issues

## Test Plan

All webauthn accountlinking tests should pass

## Documentation changes

(If relevant, please create a PR in our [docs repo](https://github.com/supertokens/docs), or create a checklist here highlighting the necessary changes)

## Checklist for important updates

-   [ ] Changelog has been updated
-   [ ] `frontendDriverInterfaceSupported.json` file has been updated (if needed)
-   [ ] Changes to the version if needed
    -   In `package.json`
    -   In `package-lock.json`
    -   In `lib/ts/version.ts`
-   [x] Had run `npm run build-pretty`
-   [x] Had installed and ran the pre-commit hook
-   [x] Issue this PR against the latest non released version branch.
    -   To know which one it is, run find the latest released tag (`git tag`) in the format `vX.Y.Z`, and then find the latest branch (`git branch --all`) whose `X.Y` is greater than the latest released tag.
    -   If no such branch exists, then create one from the latest released branch.
-   [ ] If added a new recipe interface, then make sure that the implementation of it uses NON arrow functions only (like `someFunc: function () {..}`).
-   [ ] If I added a new recipe, I also added the recipe entry point into the `size-limit` section of `package.json` with the size limit set to the current size rounded up.
-   [ ] If I added a new recipe, I also added the recipe entry point into the `rollup.config.mjs`
-   [ ] If I added a new login method, I modified the list in `lib/ts/types.ts`
-   [ ] If I added a factor id, I modified the list in `lib/ts/recipe/multifactorauth/types.ts`
## Summary of change

This PR removes a util method from the accountlinking test file and moves it to the helper file since it is used in 2 test files (accountlinking and webauthn) and the while running the webauthn tests, the accountlinking ones were also getting triggered because the helper was being imported from that file.

## Related issues

## Test Plan

All accountlinking and webauthn accountlinking tests should pass

## Documentation changes

(If relevant, please create a PR in our [docs repo](https://github.com/supertokens/docs), or create a checklist here highlighting the necessary changes)

## Checklist for important updates

-   [ ] Changelog has been updated
-   [ ] `frontendDriverInterfaceSupported.json` file has been updated (if needed)
-   [ ] Changes to the version if needed
    -   In `package.json`
    -   In `package-lock.json`
    -   In `lib/ts/version.ts`
-   [x] Had run `npm run build-pretty`
-   [x] Had installed and ran the pre-commit hook
-   [x] Issue this PR against the latest non released version branch.
    -   To know which one it is, run find the latest released tag (`git tag`) in the format `vX.Y.Z`, and then find the latest branch (`git branch --all`) whose `X.Y` is greater than the latest released tag.
    -   If no such branch exists, then create one from the latest released branch.
-   [ ] If added a new recipe interface, then make sure that the implementation of it uses NON arrow functions only (like `someFunc: function () {..}`).
-   [ ] If I added a new recipe, I also added the recipe entry point into the `size-limit` section of `package.json` with the size limit set to the current size rounded up.
-   [ ] If I added a new recipe, I also added the recipe entry point into the `rollup.config.mjs`
-   [ ] If I added a new login method, I modified the list in `lib/ts/types.ts`
-   [ ] If I added a factor id, I modified the list in `lib/ts/recipe/multifactorauth/types.ts`

## Remaining TODOs for this PR
- Sets up dev/release tag pipelines
- Adds script to populate common constants
- Updates workflows to run on PRs and dev-tags
@namsnath namsnath self-assigned this Aug 7, 2025
@namsnath namsnath requested a review from porcellus August 7, 2025 16:30
@github-actions
Copy link
Contributor

github-actions bot commented Aug 7, 2025

size-limit report 📦

Path Size
lib/build/index.js 24.83 KB (0%)
recipe/session/index.js 25.53 KB (0%)
recipe/session/prebuiltui.js 30.33 KB (0%)
recipe/thirdparty/index.js 32.5 KB (0%)
recipe/emailpassword/index.js 11.92 KB (0%)
recipe/emailverification/index.js 8.17 KB (0%)
recipe/passwordless/index.js 15.77 KB (0%)
recipe/emailverification/prebuiltui.js 35.08 KB (0%)
recipe/thirdparty/prebuiltui.js 54.28 KB (0%)
recipe/emailpassword/prebuiltui.js 41.29 KB (0%)
recipe/passwordless/prebuiltui.js 129.41 KB (0%)
recipe/multitenancy/index.js 7.02 KB (0%)
recipe/multifactorauth/index.js 11.79 KB (0%)
recipe/multifactorauth/prebuiltui.js 34.01 KB (0%)
recipe/oauth2provider/index.js 7.78 KB (0%)
recipe/oauth2provider/prebuiltui.js 32.44 KB (0%)
recipe/webauthn/index.js 10.74 KB (0%)
recipe/webauthn/prebuiltui.js 58.57 KB (0%)

exit 1
fi

if [[ "${{ steps.versions.outputs.packageVersion }}" != ${{ inputs.branch }}* ]]
Copy link

Choose a reason for hiding this comment

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

The branch comparison has a quoting issue that could lead to shell interpretation problems. The right side of the comparison should be quoted:

if [[ "${{ steps.versions.outputs.packageVersion }}" != "${{ inputs.branch }}"* ]]

This ensures that any special characters in the branch name are treated as literals rather than being interpreted by the shell.

Suggested change
if [[ "${{ steps.versions.outputs.packageVersion }}" != ${{ inputs.branch }}* ]]
if [[ "${{ steps.versions.outputs.packageVersion }}" != "${{ inputs.branch }}"* ]]

Spotted by Diamond

Is this helpful? React 👍 or 👎 to let us know.

- name: Populate variables
id: versions
run: |
. ./hooks/populate-hook-constants.sh
Copy link

Choose a reason for hiding this comment

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

Consider adding a step to ensure the script is executable before sourcing it:

chmod +x ./hooks/populate-hook-constants.sh
. ./hooks/populate-hook-constants.sh

This prevents potential permission issues after checkout, as Git doesn't always preserve executable permissions across systems.

Suggested change
. ./hooks/populate-hook-constants.sh
chmod +x ./hooks/populate-hook-constants.sh
. ./hooks/populate-hook-constants.sh

Spotted by Diamond

Is this helpful? React 👍 or 👎 to let us know.

import httpx
import sys

check_runs_url = "https://api.github.com/repos/${{ github.repository }}/commits/tags/${{ needs.setup.outputs.devTag }}/check-runs?per_page=100&page={page}"
Copy link

Choose a reason for hiding this comment

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

The URL format for GitHub's API check runs endpoint appears incorrect. The path segment tags/ in commits/tags/${{ needs.setup.outputs.devTag }} is not standard GitHub API syntax. Consider using one of these formats instead:

https://api.github.com/repos/${{ github.repository }}/commits/${{ needs.setup.outputs.devTag }}/check-runs

or

https://api.github.com/repos/${{ github.repository }}/commits/refs/tags/${{ needs.setup.outputs.devTag }}/check-runs

GitHub's API documentation can provide further guidance on the correct format.

Suggested change
check_runs_url = "https://api.github.com/repos/${{ github.repository }}/commits/tags/${{ needs.setup.outputs.devTag }}/check-runs?per_page=100&page={page}"
check_runs_url = "https://api.github.com/repos/${{ github.repository }}/commits/refs/tags/${{ needs.setup.outputs.devTag }}/check-runs?per_page=100&page={page}"

Spotted by Diamond

Is this helpful? React 👍 or 👎 to let us know.

@porcellus porcellus changed the base branch from 0.49 to master August 10, 2025 20:32
@porcellus porcellus changed the base branch from master to 0.49 August 10, 2025 21:28
@porcellus porcellus changed the base branch from 0.49 to master August 10, 2025 21:33
@porcellus porcellus merged commit 7a28dfd into master Aug 10, 2025
167 checks passed
@porcellus porcellus deleted the feat/gha/dev-release-pipelines branch August 10, 2025 21:34
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.

5 participants