From 5a7b9abe33ec2a84c9abd7a213d70fb06d199612 Mon Sep 17 00:00:00 2001 From: Yasin <61509470+wyxogo@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:43:31 +0800 Subject: [PATCH 01/23] Fix: Routes `/api/cors/[...path]` was not configured to run with the Edge Runtime --- app/api/cors/[...path]/route.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/cors/[...path]/route.ts b/app/api/cors/[...path]/route.ts index 0217b12b08f..1f70d663082 100644 --- a/app/api/cors/[...path]/route.ts +++ b/app/api/cors/[...path]/route.ts @@ -40,4 +40,4 @@ export const POST = handle; export const GET = handle; export const OPTIONS = handle; -export const runtime = "nodejs"; +export const runtime = "edge"; From 7ec29c2eeaa29fec99a55f9005341f745848e0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 20:19:39 +0800 Subject: [PATCH 02/23] add workflows/deploy preview --- .github/workflows/deploy_preview.yml | 82 +++++++++++++++++++++ .github/workflows/remove_deploy_preview.yml | 40 ++++++++++ 2 files changed, 122 insertions(+) create mode 100644 .github/workflows/deploy_preview.yml create mode 100644 .github/workflows/remove_deploy_preview.yml diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml new file mode 100644 index 00000000000..7bc245ddc3e --- /dev/null +++ b/.github/workflows/deploy_preview.yml @@ -0,0 +1,82 @@ +name: VercelPreviewDeployment + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + VERCEL_DOMAIN_SUFFIX: ".pr.nextchat.dev" + +permissions: + contents: read + statuses: write + pull-requests: write + +on: + pull_request: + types: + - opened + - synchronize + +jobs: + deploy-preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT" + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Set Environment Variables + id: set_env + if: github.event_name == 'pull_request' + run: | + echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Cache dependencies + uses: actions/cache@v2 + id: cache-npm + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + + - name: Deploy Project Artifacts to Vercel + id: vercel + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} + run: | + env + vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + vercel build --token=${VERCEL_TOKEN} + vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} + + vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} &> vercel-output + DEFAULT_URL=$(cat vercel-output | grep http | awk '{print $2}') + ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} | awk '{print $3}') + + echo "New preview URL: ${DEFAULT_URL}" + echo "New alias URL: ${ALIAS_URL}" + echo "META_TAG=${META_TAG}" + echo "VERCEL_URL=${ALIAS_URL}" >> "$GITHUB_OUTPUT" + + - uses: mshick/add-pr-comment@v2 + with: + message: | + Your build has completed! + + [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) diff --git a/.github/workflows/remove_deploy_preview.yml b/.github/workflows/remove_deploy_preview.yml new file mode 100644 index 00000000000..924b8dd0746 --- /dev/null +++ b/.github/workflows/remove_deploy_preview.yml @@ -0,0 +1,40 @@ +name: Removedeploypreview + +permissions: + contents: read + statuses: write + pull-requests: write + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + pull_request: + types: + - closed + +jobs: + delete-deployments: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Call the delete-deployment-preview.sh script + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }} + run: | + bash ./scripts/delete-deployment-preview.sh From bdc25adb413ffbdbf9a0fa0a944b6778dbe4a0fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 20:49:30 +0800 Subject: [PATCH 03/23] add delete preview scripts --- scripts/delete-deployment-preview.sh | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 scripts/delete-deployment-preview.sh diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh new file mode 100755 index 00000000000..fbad29a5d29 --- /dev/null +++ b/scripts/delete-deployment-preview.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Set the pipefail option. +set -o pipefail + +# Get the Vercel API endpoints. +GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" +DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" + +# Create a list of deployments. +# deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") + +# Filter the deployments list by meta.base_hash === meta tag. +filtered_deployments=$(echo $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes + +# Clears the values from filtered_deployments +IFS=',' read -ra values <<<"$filtered_deployments" + +echo "META_TAG ${META_TAG}" +echo "Filtered deployments ${filtered_deployments}" + +# Iterate over the filtered deployments list. +for uid in "${values[@]}"; do + echo "Deleting ${uid}" + + delete_url=${DELETE_DEPLOYMENTS_ENDPOINT}/${uid} + echo $delete_url + + # Make DELETE a request to the /v13/deployments/{id} endpoint. + curl -X DELETE $delete_url -H "Authorization: Bearer $VERCEL_TOKEN" + + echo "Deleted!" +done From 3bc771a0d9affad24dff4b2babb5f84f90e7a66a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 22:03:47 +0800 Subject: [PATCH 04/23] add workflow_dispatch --- .github/workflows/deploy_preview.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 7bc245ddc3e..98d81bff9f3 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -1,5 +1,12 @@ name: VercelPreviewDeployment +on: + workflow_dispatch: + inputs: + branchName: + description: 'Branch to deploy' + required: true + env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} @@ -11,17 +18,13 @@ permissions: statuses: write pull-requests: write -on: - pull_request: - types: - - opened - - synchronize - jobs: deploy-preview: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + ref: ${{ github.event.inputs.branchName }} - name: Extract branch name shell: bash From 998c95da51eca0c629d3ca6bbb11b1ee1ddaa786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 22:10:02 +0800 Subject: [PATCH 05/23] test pr deploy --- .github/workflows/deploy_preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 98d81bff9f3..cd0820775ac 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: branchName: - description: 'Branch to deploy' + description: 'Branch to deploy .' required: true env: From 04fe9fadb11a719e4eaf92748e2a2b70aab1a591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 20:19:39 +0800 Subject: [PATCH 06/23] add workflows/deploy preview --- .github/workflows/deploy_preview.yml | 82 +++++++++++++++++++++ .github/workflows/remove_deploy_preview.yml | 40 ++++++++++ 2 files changed, 122 insertions(+) create mode 100644 .github/workflows/deploy_preview.yml create mode 100644 .github/workflows/remove_deploy_preview.yml diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml new file mode 100644 index 00000000000..7bc245ddc3e --- /dev/null +++ b/.github/workflows/deploy_preview.yml @@ -0,0 +1,82 @@ +name: VercelPreviewDeployment + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + VERCEL_DOMAIN_SUFFIX: ".pr.nextchat.dev" + +permissions: + contents: read + statuses: write + pull-requests: write + +on: + pull_request: + types: + - opened + - synchronize + +jobs: + deploy-preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT" + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Set Environment Variables + id: set_env + if: github.event_name == 'pull_request' + run: | + echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT + + - name: Install Vercel CLI + run: npm install --global vercel@latest + + - name: Cache dependencies + uses: actions/cache@v2 + id: cache-npm + with: + path: ~/.npm + key: npm-${{ hashFiles('package-lock.json') }} + restore-keys: npm- + + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + + - name: Deploy Project Artifacts to Vercel + id: vercel + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} + run: | + env + vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} + vercel build --token=${VERCEL_TOKEN} + vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} + + vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} &> vercel-output + DEFAULT_URL=$(cat vercel-output | grep http | awk '{print $2}') + ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} | awk '{print $3}') + + echo "New preview URL: ${DEFAULT_URL}" + echo "New alias URL: ${ALIAS_URL}" + echo "META_TAG=${META_TAG}" + echo "VERCEL_URL=${ALIAS_URL}" >> "$GITHUB_OUTPUT" + + - uses: mshick/add-pr-comment@v2 + with: + message: | + Your build has completed! + + [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) diff --git a/.github/workflows/remove_deploy_preview.yml b/.github/workflows/remove_deploy_preview.yml new file mode 100644 index 00000000000..924b8dd0746 --- /dev/null +++ b/.github/workflows/remove_deploy_preview.yml @@ -0,0 +1,40 @@ +name: Removedeploypreview + +permissions: + contents: read + statuses: write + pull-requests: write + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + +on: + pull_request: + types: + - closed + +jobs: + delete-deployments: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract branch name + shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: extract_branch + + - name: Hash branch name + uses: pplanel/hash-calculator-action@v1.3.1 + id: hash_branch + with: + input: ${{ steps.extract_branch.outputs.branch }} + method: MD5 + + - name: Call the delete-deployment-preview.sh script + env: + META_TAG: ${{ steps.hash_branch.outputs.digest }} + run: | + bash ./scripts/delete-deployment-preview.sh From 8fb34465cd1e1fb1a4ef723f6b411814cea5362e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 20:49:30 +0800 Subject: [PATCH 07/23] add delete preview scripts --- scripts/delete-deployment-preview.sh | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 scripts/delete-deployment-preview.sh diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh new file mode 100755 index 00000000000..fbad29a5d29 --- /dev/null +++ b/scripts/delete-deployment-preview.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Set the pipefail option. +set -o pipefail + +# Get the Vercel API endpoints. +GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" +DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" + +# Create a list of deployments. +# deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") + +# Filter the deployments list by meta.base_hash === meta tag. +filtered_deployments=$(echo $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes + +# Clears the values from filtered_deployments +IFS=',' read -ra values <<<"$filtered_deployments" + +echo "META_TAG ${META_TAG}" +echo "Filtered deployments ${filtered_deployments}" + +# Iterate over the filtered deployments list. +for uid in "${values[@]}"; do + echo "Deleting ${uid}" + + delete_url=${DELETE_DEPLOYMENTS_ENDPOINT}/${uid} + echo $delete_url + + # Make DELETE a request to the /v13/deployments/{id} endpoint. + curl -X DELETE $delete_url -H "Authorization: Bearer $VERCEL_TOKEN" + + echo "Deleted!" +done From 0739ced4072276e6d3e89e7ea275db04eb566290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Wed, 24 Jan 2024 22:03:47 +0800 Subject: [PATCH 08/23] add workflow_dispatch --- .github/workflows/deploy_preview.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 7bc245ddc3e..98d81bff9f3 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -1,5 +1,12 @@ name: VercelPreviewDeployment +on: + workflow_dispatch: + inputs: + branchName: + description: 'Branch to deploy' + required: true + env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} @@ -11,17 +18,13 @@ permissions: statuses: write pull-requests: write -on: - pull_request: - types: - - opened - - synchronize - jobs: deploy-preview: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + ref: ${{ github.event.inputs.branchName }} - name: Extract branch name shell: bash From 2f11e7c08764855ffdddc3aa0b8f85ad99e904af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 11:04:32 +0800 Subject: [PATCH 09/23] test pr deploy --- .github/workflows/deploy_preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index cd0820775ac..98d81bff9f3 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: branchName: - description: 'Branch to deploy .' + description: 'Branch to deploy' required: true env: From 94f534f36f8eee1ae336aa4764e00f02ae4d94b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 14:33:38 +0800 Subject: [PATCH 10/23] fix vercel alias domains --- .github/workflows/deploy_preview.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 98d81bff9f3..9079ddd4b5c 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -8,6 +8,7 @@ on: required: true env: + VERCEL_TEAM: ${{ secrets.VERCEL_TEAM }} VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} @@ -63,14 +64,13 @@ jobs: env: META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} run: | - env vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} vercel build --token=${VERCEL_TOKEN} vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} &> vercel-output DEFAULT_URL=$(cat vercel-output | grep http | awk '{print $2}') - ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} | awk '{print $3}') + ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} --scope ${VERCEL_TEAM}| awk '{print $3}') echo "New preview URL: ${DEFAULT_URL}" echo "New alias URL: ${ALIAS_URL}" From 6206ceb49b26b987adcde5e0715cc83adf500e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 15:00:44 +0800 Subject: [PATCH 11/23] fix: cicd , add pull_request_target --- .github/workflows/deploy_preview.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 9079ddd4b5c..fc2969b7a1e 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -1,11 +1,11 @@ name: VercelPreviewDeployment on: + pull_request_target: + types: + - opened + - synchronize workflow_dispatch: - inputs: - branchName: - description: 'Branch to deploy' - required: true env: VERCEL_TEAM: ${{ secrets.VERCEL_TEAM }} From 43631a32718bfa287dfcb10e95087b0ef5a2d3ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 15:17:03 +0800 Subject: [PATCH 12/23] fix: cicd, vercel domain suffix secret --- .github/workflows/deploy_preview.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index fc2969b7a1e..f392e3de996 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -12,7 +12,7 @@ env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - VERCEL_DOMAIN_SUFFIX: ".pr.nextchat.dev" + VERCEL_PR_DOMAIN_SUFFIX: ${{ secrets.VERCEL_PR_DOMAIN_SUFFIX }} permissions: contents: read @@ -43,7 +43,7 @@ jobs: id: set_env if: github.event_name == 'pull_request' run: | - echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT + echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_PR_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT - name: Install Vercel CLI run: npm install --global vercel@latest From f619e9df241f3cb4dc47b251c8a37537e51be2db Mon Sep 17 00:00:00 2001 From: fred-bf <157469842+fred-bf@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:17:16 +0800 Subject: [PATCH 13/23] chore: change default submit key --- app/store/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/store/config.ts b/app/store/config.ts index 057e31b2565..20bf664df56 100644 --- a/app/store/config.ts +++ b/app/store/config.ts @@ -28,7 +28,7 @@ export enum Theme { export const DEFAULT_CONFIG = { lastUpdate: Date.now(), // timestamp, to merge state - submitKey: isMacOS() ? SubmitKey.MetaEnter : SubmitKey.CtrlEnter, + submitKey: SubmitKey.Enter, avatar: "1f603", fontSize: 14, theme: Theme.Auto as Theme, From fae82a30e7b127427199cfe2b2fc2a1f095a2414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 16:53:03 +0800 Subject: [PATCH 14/23] fix: cicd, delete vercel pre --- scripts/delete-deployment-preview.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh index fbad29a5d29..4f2bb34957d 100755 --- a/scripts/delete-deployment-preview.sh +++ b/scripts/delete-deployment-preview.sh @@ -7,11 +7,11 @@ GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" # Create a list of deployments. -# deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") -deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +#deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") # Filter the deployments list by meta.base_hash === meta tag. -filtered_deployments=$(echo $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments=$(echo -E $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes # Clears the values from filtered_deployments @@ -24,7 +24,7 @@ echo "Filtered deployments ${filtered_deployments}" for uid in "${values[@]}"; do echo "Deleting ${uid}" - delete_url=${DELETE_DEPLOYMENTS_ENDPOINT}/${uid} + delete_url="${DELETE_DEPLOYMENTS_ENDPOINT}/${uid}?teamId=${VERCEL_ORG_ID}" echo $delete_url # Make DELETE a request to the /v13/deployments/{id} endpoint. From ba3e7e79741289c9eddee533828aa40c1e9e940a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 19:31:17 +0800 Subject: [PATCH 15/23] fix: cicd, vercel alias domain --- .github/workflows/deploy_preview.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 2524990d812..387585f469f 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -64,17 +64,17 @@ jobs: env: META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} run: | + set -e vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} vercel build --token=${VERCEL_TOKEN} vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} - vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} &> vercel-output - DEFAULT_URL=$(cat vercel-output | grep http | awk '{print $2}') + DEFAULT_URL=$(vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }}) + echo "preview URL:${DEFAULT_URL} , alias URL:${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }}" ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} --scope ${VERCEL_TEAM}| awk '{print $3}') echo "New preview URL: ${DEFAULT_URL}" echo "New alias URL: ${ALIAS_URL}" - echo "META_TAG=${META_TAG}" echo "VERCEL_URL=${ALIAS_URL}" >> "$GITHUB_OUTPUT" - uses: mshick/add-pr-comment@v2 @@ -82,4 +82,4 @@ jobs: message: | Your build has completed! - [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) \ No newline at end of file + [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) From 32bcdb8982bfe12b9f26b3f8414a88ead7ca943e Mon Sep 17 00:00:00 2001 From: sungaomeng <18810164094@163.com> Date: Thu, 25 Jan 2024 19:37:29 +0800 Subject: [PATCH 16/23] fix: cicd, delete vercel pre (#3910) --- .github/workflows/deploy_preview.yml | 8 ++++---- scripts/delete-deployment-preview.sh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 2524990d812..387585f469f 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -64,17 +64,17 @@ jobs: env: META_TAG: ${{ steps.hash_branch.outputs.digest }}-${{ github.run_number }}-${{ github.run_attempt}} run: | + set -e vercel pull --yes --environment=preview --token=${VERCEL_TOKEN} vercel build --token=${VERCEL_TOKEN} vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} - vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} &> vercel-output - DEFAULT_URL=$(cat vercel-output | grep http | awk '{print $2}') + DEFAULT_URL=$(vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }}) + echo "preview URL:${DEFAULT_URL} , alias URL:${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }}" ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} --scope ${VERCEL_TEAM}| awk '{print $3}') echo "New preview URL: ${DEFAULT_URL}" echo "New alias URL: ${ALIAS_URL}" - echo "META_TAG=${META_TAG}" echo "VERCEL_URL=${ALIAS_URL}" >> "$GITHUB_OUTPUT" - uses: mshick/add-pr-comment@v2 @@ -82,4 +82,4 @@ jobs: message: | Your build has completed! - [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) \ No newline at end of file + [Preview deployment](${{ steps.vercel.outputs.VERCEL_URL }}) diff --git a/scripts/delete-deployment-preview.sh b/scripts/delete-deployment-preview.sh index fbad29a5d29..4f2bb34957d 100755 --- a/scripts/delete-deployment-preview.sh +++ b/scripts/delete-deployment-preview.sh @@ -7,11 +7,11 @@ GET_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v6/deployments" DELETE_DEPLOYMENTS_ENDPOINT="https://api.vercel.com/v13/deployments" # Create a list of deployments. -# deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") -deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID&teamId=$VERCEL_ORG_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") +#deployments=$(curl -s -X GET "$GET_DEPLOYMENTS_ENDPOINT/?projectId=$VERCEL_PROJECT_ID" -H "Authorization: Bearer $VERCEL_TOKEN ") # Filter the deployments list by meta.base_hash === meta tag. -filtered_deployments=$(echo $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') +filtered_deployments=$(echo -E $deployments | jq --arg META_TAG "$META_TAG" '[.deployments[] | select(.meta.base_hash | type == "string" and contains($META_TAG)) | .uid] | join(",")') filtered_deployments="${filtered_deployments//\"/}" # Remove double quotes # Clears the values from filtered_deployments @@ -24,7 +24,7 @@ echo "Filtered deployments ${filtered_deployments}" for uid in "${values[@]}"; do echo "Deleting ${uid}" - delete_url=${DELETE_DEPLOYMENTS_ENDPOINT}/${uid} + delete_url="${DELETE_DEPLOYMENTS_ENDPOINT}/${uid}?teamId=${VERCEL_ORG_ID}" echo $delete_url # Make DELETE a request to the /v13/deployments/{id} endpoint. From 15d25df2458ff9160eff5184158aea3bfa6571d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 19:43:26 +0800 Subject: [PATCH 17/23] fix: cicd, delete velcel pre --- .github/workflows/remove_deploy_preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/remove_deploy_preview.yml b/.github/workflows/remove_deploy_preview.yml index 924b8dd0746..4846cda2d6a 100644 --- a/.github/workflows/remove_deploy_preview.yml +++ b/.github/workflows/remove_deploy_preview.yml @@ -11,7 +11,7 @@ env: VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} on: - pull_request: + pull_request_target: types: - closed From ecbab75a25a347f8990db7e902cb900cb7ebb990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 19:54:58 +0800 Subject: [PATCH 18/23] fix: cicd, alias domain env name --- .github/workflows/deploy_preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 387585f469f..a62a5fc205a 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -41,7 +41,7 @@ jobs: - name: Set Environment Variables id: set_env - if: github.event_name == 'pull_request' + if: github.event_name == 'pull_request_target' run: | echo "VERCEL_ALIAS_DOMAIN=${{ github.event.pull_request.number }}-${{ github.workflow }}.${VERCEL_PR_DOMAIN_SUFFIX}" >> $GITHUB_OUTPUT From 148c32a38383dcd4bd8927a75eb97105fab23806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 20:46:42 +0800 Subject: [PATCH 19/23] fix: cicd, remove workflow_dispatch --- .github/workflows/deploy_preview.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index a62a5fc205a..5470c2d21bd 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -5,7 +5,6 @@ on: types: - opened - synchronize - workflow_dispatch: env: VERCEL_TEAM: ${{ secrets.VERCEL_TEAM }} @@ -24,8 +23,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - ref: ${{ github.event.inputs.branchName }} - name: Extract branch name shell: bash @@ -70,7 +67,6 @@ jobs: vercel deploy --prebuilt --archive=tgz --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }} DEFAULT_URL=$(vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }}) - echo "preview URL:${DEFAULT_URL} , alias URL:${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }}" ALIAS_URL=$(vercel alias set ${DEFAULT_URL} ${{ steps.set_env.outputs.VERCEL_ALIAS_DOMAIN }} --token=${VERCEL_TOKEN} --scope ${VERCEL_TEAM}| awk '{print $3}') echo "New preview URL: ${DEFAULT_URL}" From 3fa55f9022b20fb3b31d14d82cc712d6fa470449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E9=AB=98=E7=8C=9B?= Date: Thu, 25 Jan 2024 21:17:10 +0800 Subject: [PATCH 20/23] fix: cicd, checkout sha --- .github/workflows/deploy_preview.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_preview.yml b/.github/workflows/deploy_preview.yml index 5470c2d21bd..02ee0f1923d 100644 --- a/.github/workflows/deploy_preview.yml +++ b/.github/workflows/deploy_preview.yml @@ -23,6 +23,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.sha }} - name: Extract branch name shell: bash From 981a3629b6eeb9f41090c2a7cd4fd568f6981a55 Mon Sep 17 00:00:00 2001 From: Leo Li Date: Fri, 26 Jan 2024 02:00:02 -0500 Subject: [PATCH 21/23] Add gpt-4-0125-preview (#3924) --- app/constant.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/constant.ts b/app/constant.ts index 53d47540ac6..af64c92dc9c 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -108,6 +108,7 @@ export const SUMMARIZE_MODEL = "gpt-3.5-turbo"; export const KnowledgeCutOffDate: Record = { default: "2021-09", "gpt-4-1106-preview": "2023-04", + "gpt-4-0125-preview": "2023-04", "gpt-4-vision-preview": "2023-04", }; @@ -175,6 +176,15 @@ export const DEFAULT_MODELS = [ providerType: "openai", }, }, + { + name: "gpt-4-0125-preview", + available: true, + provider: { + id: "openai", + providerName: "OpenAI", + providerType: "openai", + }, + }, { name: "gpt-4-vision-preview", available: true, From f6cdda9029071d838e58318470fc384f86d1b8a6 Mon Sep 17 00:00:00 2001 From: NieXi Date: Sat, 27 Jan 2024 15:55:44 +0800 Subject: [PATCH 22/23] update google api region (#3934) Co-authored-by: GH Action - Upstream Sync --- app/api/google/[...path]/route.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/api/google/[...path]/route.ts b/app/api/google/[...path]/route.ts index 869bd507638..ebd19289129 100644 --- a/app/api/google/[...path]/route.ts +++ b/app/api/google/[...path]/route.ts @@ -101,19 +101,14 @@ export const POST = handle; export const runtime = "edge"; export const preferredRegion = [ - "arn1", "bom1", - "cdg1", "cle1", "cpt1", - "dub1", - "fra1", "gru1", "hnd1", "iad1", "icn1", "kix1", - "lhr1", "pdx1", "sfo1", "sin1", From 91a5f4af9adcf4eef29022f54a1097ba88d1f3c2 Mon Sep 17 00:00:00 2001 From: H0llyW00dzZ Date: Sat, 27 Jan 2024 14:58:35 +0700 Subject: [PATCH 23/23] Feat Models [GPT-4-turbo] (#3932) [+] feat(constant.ts): add new models to DEFAULT_MODELS array --- app/constant.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/constant.ts b/app/constant.ts index af64c92dc9c..8f251814088 100644 --- a/app/constant.ts +++ b/app/constant.ts @@ -107,6 +107,7 @@ export const SUMMARIZE_MODEL = "gpt-3.5-turbo"; export const KnowledgeCutOffDate: Record = { default: "2021-09", + "gpt-4-turbo-preview": "2023-04", "gpt-4-1106-preview": "2023-04", "gpt-4-0125-preview": "2023-04", "gpt-4-vision-preview": "2023-04", @@ -167,6 +168,15 @@ export const DEFAULT_MODELS = [ providerType: "openai", }, }, + { + name: "gpt-4-turbo-preview", + available: true, + provider: { + id: "openai", + providerName: "OpenAI", + providerType: "openai", + }, + }, { name: "gpt-4-1106-preview", available: true,