Skip to content

Commit

Permalink
[19299] Update to v1.18.0 (#82)
Browse files Browse the repository at this point in the history
* feat(connector): add DingTalk web connector changeset (logto-io#5940)

* fix(console): avoid rendering outdated role options (logto-io#5953)

* refactor(console): remove redundant notification from m2m guide (logto-io#5954)

* feat(core,toolkit): add new sso_identities claim (logto-io#5955)

* feat(core,toolkit): add new sso_identities claim

add new sso_identities claim to the userinfo endpoint

* chore: update changeset

update changeset

* chore: update comments

update comments

* refactor(core): use findUserSsoIdentites query method in user library

use findUserSsoIdentites query method in user library

* refactor: improve user experience (logto-io#5958)

* feat(console): show version number for oss (logto-io#5950)

* refactor: remove service log fkey (logto-io#5959)

* refactor(console): improve onboarding data and subscription fetching (logto-io#5960)

* release: version packages (logto-io#5868)

* chore: launch us region (logto-io#5962)

* chore: update links (logto-io#5963)

* fix: use correct `disabled` logic for free plan (logto-io#5964)

fix: use correct disable logic for free plan

* fix(console): only show m2m role notification for m2m roles (logto-io#5957)

* refactor(console): make long text breakable in roles page (logto-io#5956)

* refactor(console): fix plausible hostname (logto-io#5968)

* chore(deps): update dependency @logto/cloud to v0.2.5-a7eedce (logto-io#5847)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(console): implement account deletion (logto-io#5969)

* feat(console): implement account deletion

* refactor: remove unused phrases

* chore: add i18n phrases

* refactor: add comments and error handling

* fix(console): avoid skipping m2m role assignment after switching browser tabs (logto-io#5973)

* fix(core): profile avatar upload should not return 400 error (logto-io#5974)

* refactor(console,phrases): update rbac-related phrases (logto-io#5975)

* chore(schemas): add reserved plan ID for admin tenant (logto-io#5976)

* feat(core): report oidc exceptions to the appInsights (logto-io#5978)

report oidc exceptions to the appInsights

* refactor(console): click console logo should navigate to root page (logto-io#5981)

* fix(console): language switch should work on profile page (logto-io#5980)

* refactor(core): try to fix uncaught exception (logto-io#5982)

* refactor(console): use permanently delete (logto-io#5979)

* refactor(core): optimize redis error handling (logto-io#5965)

* chore(deps): update dependency @testing-library/react to v16 (logto-io#5984)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(connector): improve DingTalk web connector readme (logto-io#5977)

* feat: add dingtalk connector

* refactor(connector): optimize codes

* refactor(connector): optimize the logic of getting user phone

* docs(connector): add English configuration guide for DingTalk

* docs(connector): add table of contents

* docs(connector): optimize format

* chore(connector): update DingTalk web connector readme

* chore(connector): apply suggestions from code review

Co-authored-by: Darcy Ye <[email protected]>
Co-authored-by: Charles Zhao <[email protected]>

---------

Co-authored-by: aidenlu <[email protected]>
Co-authored-by: Darcy Ye <[email protected]>
Co-authored-by: Charles Zhao <[email protected]>

* chore(deps): update dependency i18next-browser-languagedetector to v8 (logto-io#5850)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: remove dev flags and add changeset for m2m guide feature (logto-io#5983)

* feat(console): add new feature content for m2m integration guide (logto-io#5947)

* refactor(console): always display role creation hint in role assignment modal (logto-io#5988)

* refactor(core,schemas): add user detail payload to User.Deleted webhook event (logto-io#5986)

* refactor(core,schemas): add user detail payload to User.Deleted DataHook event

add user detail data payload to the User.Deleted DataHook event

* fix(core): fix unit test

fix unit test

* refactor(console,phrases): update role assignment modal phrases (logto-io#5989)

* refactor(core): reorg organization routes

* refactor(core): reorg organization queries

* feat(schemas): init organization email domains table

* feat(core): organization email domains apis

* chore: add api docs

* refactor: fix tests

* feat(core): implement organization jit provisioning

* refactor(core): trigger organization membership updated hook from jit

* refactor: fix tests

* feat(console): implement organization jit ui

* feat(core,console): enable backchannel logout

* chore: add tests and changeset

* chore(console,core): launch organization jit

* feat(core,console): organization mfa requirement

* chore: add tests

* feat: automatic social account linking (logto-io#5881)

* feat: automatic social account linking

* chore: add integration tests

* chore: add changeset

* fix(core): prevent uncaught promise rejection (logto-io#6009)

* fix(core): prevent uncaught promise rejection

prevent uncaught promise rejection crashing the app

* refactor(core): remove inline await

remove inline await statement

* chore(core): update comment

update comment

* refactor(console): allow view and update `user.profile` in settings

* refactor: apply suggestions from code review

Co-authored-by: Charles Zhao <[email protected]>

* refactor(console): update jit styles

* feat(core,console): organization jit roles

* refactor: add organization jit role api tests

* chore: update changeset

* style(console): update tab item style in readme docs (logto-io#6013)

* refactor(console): imporve custom phrase fetch request error handling (logto-io#6015)

* refactor(console): improve webhook test request error handling (logto-io#6017)

* refactor: rename method

* feat(connector): google one tap

* feat(core): google one tap

* feat(experience): google one tap

* chore: add tests

* chore: add tests

* refactor(console): update spring boot api protection guide (logto-io#6018)

update spring boot api protection guide

* refactor(console,experience,test): decouple isDevFeatureEnabled with isIntegrationTest (logto-io#6012)

* refactor(console,experience,test): decouple isDevFeatureEnabled with isIntegrationTest

decouple isDevFeatureEnabled with isIntegrationTest ENV variables

* chore: update environment variable get method

update environment variable get method

* refactor(console): improve swr error handling that previously omitted (logto-io#6021)

* chore: add comments

* chore: add changeset (logto-io#6004)

* feat: add dev feature disabled test (logto-io#6014)

feat: implement dev feature disabled integration test

implement dev feature desiabled integration test

* chore: update README.md (logto-io#6038)

* refactor(console): show sso status in jit domains (logto-io#6040)

* feat(console): google one tap (logto-io#6034)

* test(core): implement sso related integration tests (logto-io#6041)

* test(core): implement sso related integration tests

implement sso related integration tests

* chore(core): remove unnecessary comments

remove unnecessary comments

* feat(console): add Ruby app guide

* chore(deps): update docker/build-push-action action to v6 (logto-io#6042)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(connector): update outdated links in connector readme (logto-io#6039)

* refactor(console): support non-svg logos

* feat(schemas): add `agree_to_terms_policy` for sie table (logto-io#6036)

* feat(console,phrases): support agree to terms policy configuration (logto-io#6037)

* feat(experience): support agree to terms policies (logto-io#6044)

* chore(console): update guide orders (logto-io#6047)

* feat(core): jit organization roles (logto-io#6049)

* refactor(core): update relation queries

* refactor: fix google one tap issues (logto-io#6054)

* chore(schemas): add legacy-pro tag to reserved plan ID (logto-io#6061)

* feat(core): init organization app apis

* refactor(core): reorg organization users api docs

* chore: skip tests if needed

* style(experience): add margin-bottom for terms checkbox on sign-in page (logto-io#6058)

* chore(test): reorg the sso connector api cleanup logic (logto-io#6053)

reorg the sso connector api cleanup logic

* docs(console): add the troubleshooting section in expo guide (logto-io#6052)

* docs(console): add the troubleshoot section in expo guide

add the troubleshoot section in expo integration guide

* chore: update the words

update the words

* feat(core): organization jit sso apis

* feat(core): init organization app role apis

* chore: rename legacy pro to grandfathered pro (logto-io#6076)

* refactor(console): update subscription plan ID (logto-io#6074)

* feat(core): organization jit sso

* feat(console): update jit config

* refactor: improve code, content, and styles

* chore(deps): update dependency buffer to v6 (logto-io#6060)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(core): add dev feature tag for openapi.json (logto-io#6025)

chore(core): add dev feature tag for openapi.json to indicate operation should not show up in swagger.json

* chore(deps): update ikalnytskyi/action-setup-postgres action to v6 (logto-io#5815)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(experience): apply agree to terms policy for sso (logto-io#6080)

* chore: update changeset (logto-io#6077)

* refactor(core): update naming and fix typos

* refactor(core): reorg organization routes

* fix: fix dev feature disabled integration tests

fix dev feature disabled integration tests

* feat(core): issue subject tokens (logto-io#6045)

* chore: update code owners (logto-io#6081)

* refactor(core): return roles in organization app get api

* feat: organization role types

* chore: fix tests

* feat(core): get application organizations api

* feat(core): update application organization role apis

* fix: change special character to fix root paramter naming issue

feat: add customParameters function for fixing tenantId error on `/api/.well-known/endpoints/{tenantId}`

* fix: update mocks and docstrings

* feat(console): show organization list for m2m apps

* refactor: filter whole supplement document if needed (logto-io#6085)

* refactor: update status code

* feat(console): m2m pages in organizations

* refactor: add changeset and improve code

* refactor(core): fork client credentials grant

* feat: support prompt config for some built-in connectors (logto-io#6023)

* feat: support prompt config for some built-in connectors

* chore: adopt code review suggestions

Co-authored-by: Gao Sun <[email protected]>

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor: refactor integration test ci job (logto-io#6095)

* fix: remove dev feature diff check

remove dev feature diff check

* refactor: refactor alteration integration test ci job

refactor alteration integration test ci job

* fix: fix the dev feature disbaled integration tests

fix the dev feature disabled integration tests

* fix: fix alteration-compatibility-test

fix alteration-compatibility-test

* feat(console,phrases): add issuer endpoint to application form (logto-io#6094)

* feat(console,phrases): add issuer endpoint to application form

add issuer endpoint to the application form

* chore: add changeset

add changeset

* fix(schemas): explicitly set search path (logto-io#6101)

* refactor(console): update role-related content and components (logto-io#6091)

* refactor(console): hide backchannel for m2m apps (logto-io#6075)

* refactor: add brief intro in swagger.json (logto-io#6102)

* fix: include `tenantId` and its root param in responses (logto-io#6092)

* fix: include tenantId and its root param in responses

* refactor: use shared object

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(experience,phrases): update resend passcode phrases (logto-io#6103)

* feat(core): add hasPassword field to custom JWT user context (logto-io#6096)

* refactor: handle potential errors during ky requests in koa-auth middleware (logto-io#6112)

* feat(core): issue organization token via client credentials (logto-io#6098)

* feat(core): issue organization token via client credentials

* refactor: fix tests

* refactor(console): upgrade mdx packages

* refactor(console): remove unused config

* chore: fix typo (logto-io#6110)

* refactor: update nuxt guide (logto-io#6114)

* refactor: update nuxt guide

* refactor: polish content

* refactor(console): update ruby guide (logto-io#6116)

* refactor(console): update ruby guide

* refactor(console): support further readings

* refactor(console): reorg docs

* refactor(console): update next guide (logto-io#6119)

* refactor(core): update grant comments (logto-io#6120)

* chore: update README.mdx (logto-io#6121)

Added a missing backtick that breaks layout

* refactor(console): update swift guide (logto-io#6123)

* refactor(console): polish ui (logto-io#6122)

* refactor(console): polish ui

* refactor: fix code editor title color

* refactor(console): use correct array for checking enterprise sso (logto-io#6135)

* refactor(console): use correct array for checking enterprise sso

* refactor(console): hide add connector button when no connector available

* refactor(console): fix sso connector check conditions in the organization jit section

* refactor(console): update styles

* refactor(console): update express guide (logto-io#6124)

* refactor(console): polish android guide (logto-io#6131)

* ci: refactor integration tests workflow

* ci: add spaces

* refactor(test): use secure random method in integration test util (logto-io#6139)

* refactor(console): update python and php guide (logto-io#6136)

* refactor(console): update python/php console guide

* refactor(console): improve php guide

* refactor(console): improve python guide

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): polish guides

* chore(console): remove unmaintained remix guide (logto-io#6137)

* refactor(console): update golang guide (logto-io#6134)

* refactor(console): update golang guide

* refactor: use imported uris for go docs

* refactor(console): fix switch styles (logto-io#6132)

* refactor(console): fix php guide (logto-io#6143)

* feat: demo app dev panel (logto-io#6105)

* docs(console): update the sveltekit guide (logto-io#6130)

* docs(console): update the sveltekit guide

update the sveltekit guide

* chore(console): reorg the display user section in svltekit

reorg the display user section in svltekit

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* chore: launch jit (logto-io#6127)

* chore: launch m2m app for organizations (logto-io#6129)

* chore: launch m2m app for organizations

* chore: add changeset

* chore: normalize Logto DB region role names for DB alteration CI (logto-io#6144)

* docs(console): update the expo SDK integration guide (logto-io#6126)

* docs(console): update the expo SDK integration guide

update the expo SDK integrtion guide

* chore(console): update rn guide section title

update rn guide section title

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* feat(core,schemas): token exchange grant (logto-io#6057)

* docs(console): update flutter intergration guide (logto-io#6125)

improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* fix(experience): add missing `agreeToTermsPolicy` deps (logto-io#6148)

* docs(console): update the capacitor integration guide (logto-io#6128)

* docs(console): update the capacitor integration guide

update the capacitor integration guide

* fix(console): reorg capacitor guide

reorg capacitor guide

* chore(console): update the section title

update the section title

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor: fix mermaid in production (logto-io#6149)

Use dynamic CDN import to use Mermaid as Parcel has issues on handling the
static import in production.

* ci: rerun integration tests on failure (logto-io#6141)

* docs(console): update the java spring guide (logto-io#6133)

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): add retry button on error (logto-io#6158)

* refactor(console): update vanilla js integration guide (logto-io#6156)

* refactor(console): update vanilla js integration guide

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): update react integration guide (logto-io#6151)

* refactor(console): update react integration guide

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): update vue integration guide (logto-io#6153)

* refactor(console): update vue integration guide

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): update angular integration guide (logto-io#6157)

* refactor(console): update angular integration guide

* refactor(console): improve content

---------

Co-authored-by: Gao Sun <[email protected]>

* refactor(console): load mermaid in dev (logto-io#6155)

* feat(core): third-party applications are not allowed for token exchange (logto-io#6100)

* feat(core,schemas): token exchange grant

* feat(core): third-party applications are not allowed for token exchange

* refactor: update compare DB alteration scripts (logto-io#6152)

* refactor: update compare DB alteration scripts

* chore: add comments

* refactor: upgrade logto sdks (logto-io#6160)

* fix(console): fix broken api resource guides (logto-io#6161)

* feat(core): organization token for token exchange flow (logto-io#6106)

* feat(core,schemas): token exchange grant

* feat(core): third-party applications are not allowed for token exchange

* feat(core,schemas): token exchange grant

* feat(core): organization token for token exchange flow

* refactor(console): optimize api resource guides (logto-io#6162)

* fix(console): fix custom element swap in mdx (logto-io#6166)

* refactor(console): add aggregated npm installation component (logto-io#6159)

* refactor: update ci and package (logto-io#6167)

* refactor: update ci and package

* chore: fix tests

* fix(console): hide error toast for non-existed application in audit logs (logto-io#6168)

* fix(console): hide error toast for non-existed application in audit logs

* chore: add changeset

* feat: add `operationId` to HTTP methods on paths (logto-io#6108)

* feat: add operationId to HTTP methods on paths

* refactor(core): strictly handle routes for building operation id

* chore: add changeset

* refactor: reorg code

* refactor: use get as verb for singular items

---------

Co-authored-by: Gao Sun <[email protected]>

* feat(schemas): custom ui assets db update (logto-io#6010)

* fix(core): issue `organization_id` claim for client credentials (logto-io#6170)

* feat(core): handle oidc scopes for token exchange (logto-io#6147)

* feat(core,schemas): token exchange grant

* feat(core): third-party applications are not allowed for token exchange

* feat(core,schemas): token exchange grant

* feat(core): organization token for token exchange flow

* feat(core): handle oidc scopes for token exchange

* chore(deps): update dependency @rollup/plugin-commonjs to v26 (logto-io#5994)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(experience): rename `SingleSignOnContext` to `UserInteractionContext` (logto-io#6163)

* chore(deps): update logto-io/actions-run-logto-integration-tests action to v4 (logto-io#6176)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update logto-io/actions-package-logto-artifact action to v3 (logto-io#6175)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update silverhand-io/actions-node-pnpm-run-steps action to v5 (logto-io#6174)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(console): improve dotnet guides

* fix(console): fix page issues (logto-io#6181)

* refactor(console): check mermaid by integration test env (logto-io#6183)

* feat(core): implement new experience API routes (logto-io#5992)

* feat(core): implement new interaction-session management flow

implement a new interaction-session management flow for experience api use

* feat(core): implement password sign-in flow

implement password sign-in flow

* test(core,schemas): add sign-in password tests

add sign-in password tests

* chore(core): update comments

update comments

* refactor(core): rename the password input value key

rename the password input value key

* refactor(core,schemas): refactor the experience API

refactor the exerpience API structure

* chore(test): add devFeature test

add devFeature test

* refactor(core): rename the path

rename the path

* refactor(core,schemas): refactor using the latest API design

refactor using the latest API design

* chore(test): replace using devFeature test statement

replace using devFeature test statement

* fix(core): fix lint error

fix lint error

* refactor(core): refactor experience API implementations

refactor experience API implementations

* refactor(core): replace with switch

replace object map with switch

* refactor: apply suggestions from code review

* refactor(core): refactor the interaction class
 refactor the interaction class

* refactor(core): update the user identification logic

update the user identification logic

---------

Co-authored-by: Gao Sun <[email protected]>

* feat(core): implement verification code verification API (logto-io#6001)

* feat(core,schemas): implement the verification code flow

implement the verification code flow

* chore(core): fix rebase issue

fix rebase issue

* refactor(console): add chrome extension guide (logto-io#6178)

* feat(core,schemas): implement social verification experience API endpoints (logto-io#6150)

feat(core,schemas): implement the social verification flow

implement the social verificaiton flow

* release: version packages (logto-io#5987)

* chore: update dependencies

* chore: fix wrong conflict resolution

* fix: organization and role assignment to public servant

* chore: remove duplicate tab

---------

Co-authored-by: Darcy Ye <[email protected]>
Co-authored-by: Xiao Yijun <[email protected]>
Co-authored-by: simeng-li <[email protected]>
Co-authored-by: Gao Sun <[email protected]>
Co-authored-by: silverhand-bot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Charles Zhao <[email protected]>
Co-authored-by: aiden <[email protected]>
Co-authored-by: aidenlu <[email protected]>
Co-authored-by: wangsijie <[email protected]>
Co-authored-by: Mostafa Moradian <[email protected]>
Co-authored-by: ScreenCom User <[email protected]>
  • Loading branch information
13 people authored Jul 16, 2024
1 parent fb8fe13 commit 96ea9a6
Show file tree
Hide file tree
Showing 794 changed files with 20,040 additions and 7,144 deletions.
13 changes: 9 additions & 4 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
/packages/schemas/tables @simeng-li @wangsijie @gao-sun
/packages/core @simeng-li @wangsijie @gao-sun
/packages/console @wangsijie @charIeszhao @gao-sun
/packages/ui @simeng-li @charIeszhao
/.github/ @gao-sun
/.changeset @gao-sun
/packages/schemas/tables/ @simeng-li @wangsijie @gao-sun
/packages/core/ @simeng-li @wangsijie @gao-sun
/packages/console/ @wangsijie @charIeszhao @xiaoyijun @gao-sun
/packages/ui/ @simeng-li @charIeszhao
connector*/ @darcyYe @gao-sun

# The file below should be generated by the script, just in case someone accidentally edits it
/packages/console/src/assets/docs/guides/index.ts @gao-sun
33 changes: 24 additions & 9 deletions .github/workflows/alteration-compatibility-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
id: changes-detection
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
BASE=$(git merge-base origin/${{github.base_ref}} HEAD)
BASE=$(git merge-base origin/${{ github.base_ref }} HEAD)
else
BASE=${{ github.event.before }}
fi
Expand All @@ -37,24 +37,25 @@ jobs:
if [ -n "$CHANGE_FILES" ]; then
echo "$CHANGE_FILES"
echo "::set-output name=has-alteration-changes::true"
echo "has-alteration-changes=true" >> $GITHUB_OUTPUT
echo "Alteration changes detected"
else
echo "::set-output name=has-alteration-changes::false"
echo "has-alteration-changes=false" >> $GITHUB_OUTPUT
echo "No alteration changes detected"
fi
package:
needs: check-alteration-changes
runs-on: ubuntu-latest
if: ${{needs.check-alteration-changes.outputs.has-alteration-changes == 'true'}}
if: ${{ needs.check-alteration-changes.outputs.has-alteration-changes == 'true' }}
env:
INTEGRATION_TEST: true
DEV_FEATURES_ENABLED: false
steps:
- uses: logto-io/actions-package-logto-artifact@v2
- uses: logto-io/actions-package-logto-artifact@v3
with:
artifact-name: alteration-integration-test-${{ github.sha }}
branch: ${{github.base_ref}}
branch: ${{ github.base_ref }}
pnpm-version: 9

run-logto:
Expand All @@ -66,13 +67,27 @@ jobs:
runs-on: ubuntu-latest
env:
INTEGRATION_TEST: true
DEV_FEATURES_ENABLED: false
DB_URL: postgres://postgres:postgres@localhost:5432/postgres

steps:
- uses: logto-io/actions-run-logto-integration-tests@v3
- uses: logto-io/actions-run-logto-integration-tests@v4
with:
branch: ${{github.base_ref}}
branch: ${{ github.base_ref }}
logto-artifact: alteration-integration-test-${{ github.sha }}
test-target: ${{ matrix.target }}
db-alteration-target: ${{github.head_ref}}
db-alteration-target: ${{ github.head_ref }}
pnpm-version: 9

# Automatically rerun the workflow since the integration tests are moody
# From this genius: https://github.com/orgs/community/discussions/67654#discussioncomment-8038649
rerun-on-failure:
needs: run-logto
if: failure() && fromJSON(github.run_attempt) < 3
runs-on: ubuntu-latest
steps:
- env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
GH_DEBUG: api
run: gh workflow run rerun.yml -F run_id=${{ github.run_id }}
2 changes: 1 addition & 1 deletion .github/workflows/changesets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
token: ${{ secrets.BOT_PAT }}

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/commitlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fetch-depth: 0

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down
30 changes: 25 additions & 5 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- master
- "push-action/**"
pull_request:

concurrency:
Expand All @@ -13,30 +12,51 @@ concurrency:

jobs:
package:
strategy:
matrix:
# Run the integration tests with and without dev features enabled
dev-features-enabled: [true, false]
runs-on: ubuntu-latest
env:
INTEGRATION_TEST: true
DEV_FEATURES_ENABLED: ${{ matrix.dev-features-enabled }}

steps:
- uses: logto-io/actions-package-logto-artifact@v2
- uses: logto-io/actions-package-logto-artifact@v3
with:
artifact-name: integration-test-${{ github.sha }}
artifact-name: integration-test-${{ github.sha }}-dev-features-${{ matrix.dev-features-enabled }}
pnpm-version: 9

run-logto:
strategy:
fail-fast: false
matrix:
target: [api, experience, console]
# Run the integration tests with and without dev features enabled
dev-features-enabled: [true, false]
needs: package
runs-on: ubuntu-latest
env:
INTEGRATION_TEST: true
DEV_FEATURES_ENABLED: ${{ matrix.dev-features-enabled }}
DB_URL: postgres://postgres:postgres@localhost:5432/postgres

steps:
- uses: logto-io/actions-run-logto-integration-tests@v3
- uses: logto-io/actions-run-logto-integration-tests@v4
with:
logto-artifact: integration-test-${{ github.sha }}
logto-artifact: integration-test-${{ github.sha }}-dev-features-${{ env.DEV_FEATURES_ENABLED }}
test-target: ${{ matrix.target }}
pnpm-version: 9

# Automatically rerun the workflow since the integration tests are moody
# From this genius: https://github.com/orgs/community/discussions/67654#discussioncomment-8038649
rerun-on-failure:
needs: run-logto
if: failure() && fromJSON(github.run_attempt) < 3
runs-on: ubuntu-latest
steps:
- env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
GH_DEBUG: api
run: gh workflow run rerun.yml -r ${{ github.head_ref || github.ref_name }} -F run_id=${{ github.run_id }}
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand All @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand All @@ -53,7 +53,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
uses: docker/setup-buildx-action@v3

- name: Build
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
context: .
build-args: | # Test cloud build
Expand Down Expand Up @@ -120,7 +120,7 @@ jobs:
run: cp ./fresh/pnpm-lock.yaml ./

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9
run-install: false
Expand All @@ -136,7 +136,7 @@ jobs:
# ** End **

- name: Setup Postgres
uses: ikalnytskyi/action-setup-postgres@v5
uses: ikalnytskyi/action-setup-postgres@v6

# ** Setup up-to-date databases and compare (test `up`) **
- name: Setup fresh database
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/master-codecov-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
uses: docker/setup-buildx-action@v3

- name: Build and push docker image
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
platforms: linux/amd64
context: .
Expand All @@ -129,7 +129,7 @@ jobs:
fetch-depth: 0

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
fetch-depth: 0

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/rerun.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# From this genius: https://github.com/orgs/community/discussions/67654#discussioncomment-8038649
name: Rerun workflow

on:
workflow_dispatch:
inputs:
run_id:
required: true
jobs:
rerun:
runs-on: ubuntu-latest
steps:
- name: rerun ${{ inputs.run_id }}
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
GH_DEBUG: api
run: |
gh run watch ${{ inputs.run_id }} > /dev/null 2>&1
gh run rerun ${{ inputs.run_id }} --failed
2 changes: 1 addition & 1 deletion .github/workflows/upload-annotations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- uses: actions/checkout@v4

- name: Setup Node and pnpm
uses: silverhand-io/actions-node-pnpm-run-steps@v4
uses: silverhand-io/actions-node-pnpm-run-steps@v5
with:
pnpm-version: 9

Expand Down
37 changes: 31 additions & 6 deletions .scripts/compare-database.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,21 +99,46 @@ const queryDatabaseManifest = async (database) => {
`);

// This function removes the last segment of grantee since Logto will use 'logto_tenant_fresh/alteration' for the role name.
const normalizeGrantee = ({ grantee, ...rest }) => {
if (grantee.startsWith('logto_tenant_')) {
return { ...rest, grantee: 'logto_tenant' };
const normalizeRoleName = (roleName) => {
if (roleName.startsWith('logto_tenant_')) {
return 'logto_tenant';
}

return { grantee, ...rest };
// Removes the last segment of region grantee since Logto will use 'logto_region_xxx' for the role name for different regions.
if (roleName.startsWith('logto_region_')) {
return 'logto_region';
}

return roleName;
};

const normalizeGrantee = ({ grantee, ...rest }) => ({
...rest,
grantee: normalizeRoleName(grantee),
});

// Ditto.
const normalizeRoles = ({ roles: raw, ...rest }) => {
const roles = raw.slice(1, -1).split(',').map((name) => name.startsWith('logto_tenant_') ? 'logto_tenant' : name);
const roles = raw
.slice(1, -1)
.split(',')
.map((name) => normalizeRoleName(name));

return { roles, ...rest };
};

const normalizePolicyname = ({ policyname, ...rest }) => {
const prefix = 'allow_';
const suffix = '_access';
if (policyname && policyname.startsWith(prefix) && policyname.endsWith(suffix)) {
// This is a naming convention in Logto cloud, it is formatted as `allow_{role_name}_access`, we need to normalize the role name part for the convenience of comparing DB updates.
// Ref: https://github.com/logto-io/cloud/pull/738
return { policyname: `${prefix}${normalizeRoleName(policyname.slice(prefix.length, -suffix.length))}${suffix}`, ...rest };
}

return { policyname, ...rest };
};

// Omit generated ids and values
return {
tables: omitArray(tables, 'table_catalog'),
Expand Down Expand Up @@ -144,7 +169,7 @@ const queryDatabaseManifest = async (database) => {
indexes,
funcs,
triggers: omitArray(triggers, 'trigger_catalog', 'event_object_catalog'),
policies: policies.map(normalizeRoles),
policies: policies.map(normalizeRoles).map(normalizePolicyname),
columnGrants: omitArray(columnGrants, 'table_catalog').map(normalizeGrantee),
tableGrants: omitArray(tableGrants, 'table_catalog').map(normalizeGrantee),
};
Expand Down
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
"timestamptz",
"topbar",
"upsell",
"withtyped"
"withtyped",
"backchannel"
]
}
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
<p align="center">
<a href="https://logto.io" target="_blank" align="center" alt="Logto Logo">
<img src="./logo.png" height="120">
<a href="https://logto.io/?utm_source=github&utm_medium=readme" target="_blank" align="center" alt="Go to Logto website">
<picture>
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://github.com/logto-io/.github/raw/master/profile/logto-logo-dark.svg">
<source width="200" media="(prefers-color-scheme: light)" srcset="https://github.com/logto-io/.github/raw/master/profile/logto-logo-light.svg">
<img width="200" src="https://github.com/logto-io/logto/raw/master/logo.png" alt="Logto logo">
</picture>
</a>
</p>

<br />

[![discord](https://img.shields.io/discord/965845662535147551?color=5865f2&label=discord)](https://discord.gg/vRvwuwgpVX)
[![checks](https://img.shields.io/github/checks-status/logto-io/logto/master)](https://github.com/logto-io/logto/actions?query=branch%3Amaster)
[![release](https://img.shields.io/github/v/release/logto-io/logto?color=3a3c3f)](https://github.com/logto-io/logto/releases)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"typescript": "^5.0.0"
},
"engines": {
"node": "^20.10.0",
"node": "^20.9.0",
"pnpm": "^9.0.0"
},
"pnpm": {
Expand Down
Loading

0 comments on commit 96ea9a6

Please sign in to comment.