-
Notifications
You must be signed in to change notification settings - Fork 95
feat: adds dev/release tag pipelines #911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- 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
…/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
size-limit report 📦
|
- Ensures chromatic statuses are checked in the release checks
| exit 1 | ||
| fi | ||
|
|
||
| if [[ "${{ steps.versions.outputs.packageVersion }}" != ${{ inputs.branch }}* ]] |
There was a problem hiding this comment.
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.
| 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 |
There was a problem hiding this comment.
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.shThis prevents potential permission issues after checkout, as Git doesn't always preserve executable permissions across systems.
| . ./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}" |
There was a problem hiding this comment.
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.
| 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.
Summary of change
(A few sentences about this PR)
Related issues
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
frontendDriverInterfaceSupported.jsonfile has been updated (if needed)package.jsonpackage-lock.jsonlib/ts/version.tsnpm run build-prettygit tag) in the formatvX.Y.Z, and then find the latest branch (git branch --all) whoseX.Yis greater than the latest released tag.someFunc: function () {..}).size-limitsection ofpackage.jsonwith the size limit set to the current size rounded up.rollup.config.mjslib/ts/types.tslib/ts/recipe/multifactorauth/types.tsRemaining TODOs for this PR