mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-04 00:56:40 +08:00
Merge branch 'ChatGPTNextWeb:main' into main
This commit is contained in:
commit
890aea3a9d
83
.github/workflows/deploy_preview.yml
vendored
Normal file
83
.github/workflows/deploy_preview.yml
vendored
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
name: VercelPreviewDeployment
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
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 }}
|
||||||
|
VERCEL_PR_DOMAIN_SUFFIX: ${{ secrets.VERCEL_PR_DOMAIN_SUFFIX }}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
statuses: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy-preview:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
|
- 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_target'
|
||||||
|
run: |
|
||||||
|
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
|
||||||
|
|
||||||
|
- 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: |
|
||||||
|
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 }}
|
||||||
|
|
||||||
|
DEFAULT_URL=$(vercel ls --token=${VERCEL_TOKEN} --meta base_hash=${{ env.META_TAG }})
|
||||||
|
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 "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 }})
|
40
.github/workflows/remove_deploy_preview.yml
vendored
Normal file
40
.github/workflows/remove_deploy_preview.yml
vendored
Normal file
@ -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_target:
|
||||||
|
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
|
@ -40,4 +40,4 @@ export const POST = handle;
|
|||||||
export const GET = handle;
|
export const GET = handle;
|
||||||
export const OPTIONS = handle;
|
export const OPTIONS = handle;
|
||||||
|
|
||||||
export const runtime = "nodejs";
|
export const runtime = "edge";
|
||||||
|
@ -101,19 +101,14 @@ export const POST = handle;
|
|||||||
|
|
||||||
export const runtime = "edge";
|
export const runtime = "edge";
|
||||||
export const preferredRegion = [
|
export const preferredRegion = [
|
||||||
"arn1",
|
|
||||||
"bom1",
|
"bom1",
|
||||||
"cdg1",
|
|
||||||
"cle1",
|
"cle1",
|
||||||
"cpt1",
|
"cpt1",
|
||||||
"dub1",
|
|
||||||
"fra1",
|
|
||||||
"gru1",
|
"gru1",
|
||||||
"hnd1",
|
"hnd1",
|
||||||
"iad1",
|
"iad1",
|
||||||
"icn1",
|
"icn1",
|
||||||
"kix1",
|
"kix1",
|
||||||
"lhr1",
|
|
||||||
"pdx1",
|
"pdx1",
|
||||||
"sfo1",
|
"sfo1",
|
||||||
"sin1",
|
"sin1",
|
||||||
|
@ -107,7 +107,9 @@ export const SUMMARIZE_MODEL = "gpt-3.5-turbo";
|
|||||||
|
|
||||||
export const KnowledgeCutOffDate: Record<string, string> = {
|
export const KnowledgeCutOffDate: Record<string, string> = {
|
||||||
default: "2021-09",
|
default: "2021-09",
|
||||||
|
"gpt-4-turbo-preview": "2023-04",
|
||||||
"gpt-4-1106-preview": "2023-04",
|
"gpt-4-1106-preview": "2023-04",
|
||||||
|
"gpt-4-0125-preview": "2023-04",
|
||||||
"gpt-4-vision-preview": "2023-04",
|
"gpt-4-vision-preview": "2023-04",
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -166,6 +168,15 @@ export const DEFAULT_MODELS = [
|
|||||||
providerType: "openai",
|
providerType: "openai",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "gpt-4-turbo-preview",
|
||||||
|
available: true,
|
||||||
|
provider: {
|
||||||
|
id: "openai",
|
||||||
|
providerName: "OpenAI",
|
||||||
|
providerType: "openai",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "gpt-4-1106-preview",
|
name: "gpt-4-1106-preview",
|
||||||
available: true,
|
available: true,
|
||||||
@ -175,6 +186,15 @@ export const DEFAULT_MODELS = [
|
|||||||
providerType: "openai",
|
providerType: "openai",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "gpt-4-0125-preview",
|
||||||
|
available: true,
|
||||||
|
provider: {
|
||||||
|
id: "openai",
|
||||||
|
providerName: "OpenAI",
|
||||||
|
providerType: "openai",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "gpt-4-vision-preview",
|
name: "gpt-4-vision-preview",
|
||||||
available: true,
|
available: true,
|
||||||
|
@ -28,7 +28,7 @@ export enum Theme {
|
|||||||
export const DEFAULT_CONFIG = {
|
export const DEFAULT_CONFIG = {
|
||||||
lastUpdate: Date.now(), // timestamp, to merge state
|
lastUpdate: Date.now(), // timestamp, to merge state
|
||||||
|
|
||||||
submitKey: isMacOS() ? SubmitKey.MetaEnter : SubmitKey.CtrlEnter,
|
submitKey: SubmitKey.Enter,
|
||||||
avatar: "1f603",
|
avatar: "1f603",
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
theme: Theme.Auto as Theme,
|
theme: Theme.Auto as Theme,
|
||||||
|
34
scripts/delete-deployment-preview.sh
Executable file
34
scripts/delete-deployment-preview.sh
Executable file
@ -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 -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
|
||||||
|
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}?teamId=${VERCEL_ORG_ID}"
|
||||||
|
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
|
Loading…
Reference in New Issue
Block a user