Skip to content

Commit 737fefd

Browse files
authored
Merge branch 'main' into blog-everyone-can-do-devrel
2 parents 1741b12 + 9aeed2a commit 737fefd

File tree

3,086 files changed

+88425
-35416
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,086 files changed

+88425
-35416
lines changed

.env.example

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ PUBLIC_APPWRITE_COL_MESSAGES_ID=
22
PUBLIC_APPWRITE_COL_THREADS_ID=
33
PUBLIC_APPWRITE_DB_MAIN_ID=
44
PUBLIC_APPWRITE_FN_TLDR_ID=
5-
PUBLIC_APPWRITE_ENDPOINT=
5+
PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
66
PUBLIC_APPWRITE_PROJECT_ID=
7+
PUBLIC_APPWRITE_DASHBOARD=https://cloud.appwrite.io
78
PUBLIC_APPWRITE_PROJECT_INIT_ID=
89
PUBLIC_GROWTH_ENDPOINT=
10+
PUBLIC_POSTHOG_API_KEY=
911
APPWRITE_DB_INIT_ID=
1012
APPWRITE_COL_INIT_ID=
1113
APPWRITE_API_KEY_INIT=
12-
SENTRY_AUTH_TOKEN=
14+
SENTRY_AUTH_TOKEN=

.eslintignore

Lines changed: 0 additions & 13 deletions
This file was deleted.

.eslintrc.cjs

Lines changed: 0 additions & 30 deletions
This file was deleted.

.github/workflows/index.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
name: Search Index
22

33
on:
4-
push:
5-
branches:
6-
- main
4+
push:
5+
branches:
6+
- main
77

88
jobs:
9-
indexing:
10-
runs-on: ubuntu-latest
11-
name: Indexing
12-
steps:
13-
- uses: actions/checkout@v4
14-
with:
15-
repository: 'meilisearch/scrapix'
16-
- name: Use Node.js
17-
uses: actions/setup-node@v3
18-
with:
19-
node-version: '20.x'
20-
- run: yarn
21-
- run: yarn start -c "$SCRAPIX_CONFIG"
22-
env:
23-
SCRAPIX_CONFIG: ${{ secrets.SCRAPIX_CONFIG }}
9+
indexing:
10+
runs-on: ubuntu-latest
11+
name: Indexing
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
repository: 'meilisearch/scrapix'
16+
- name: Use Node.js
17+
uses: actions/setup-node@v3
18+
with:
19+
node-version: '20.x'
20+
- run: yarn
21+
- run: yarn start -c "$SCRAPIX_CONFIG"
22+
env:
23+
SCRAPIX_CONFIG: ${{ secrets.SCRAPIX_CONFIG }}

.github/workflows/production.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,38 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout the repo
18-
uses: actions/checkout@v2
18+
uses: actions/checkout@v4
1919

2020
- name: Login to DockerHub
21-
uses: docker/login-action@v1
21+
uses: docker/login-action@v3
2222
with:
2323
registry: ghcr.io
2424
username: ${{ github.actor }}
2525
password: ${{ secrets.GITHUB_TOKEN }}
2626

2727
- name: Build and push
28-
uses: docker/build-push-action@v2
28+
uses: docker/build-push-action@v6
2929
with:
3030
context: .
3131
push: true
3232
tags: ghcr.io/appwrite/website:${{ env.TAG }}
3333
build-args: |
34+
"PUBLIC_APPWRITE_ENDPOINT=${{ vars.PUBLIC_APPWRITE_ENDPOINT }}"
35+
"PUBLIC_APPWRITE_DASHBOARD=${{ vars.PUBLIC_APPWRITE_DASHBOARD }}"
3436
"PUBLIC_APPWRITE_PROJECT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}"
3537
"PUBLIC_APPWRITE_DB_MAIN_ID=${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}"
3638
"PUBLIC_APPWRITE_COL_THREADS_ID=${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}"
3739
"PUBLIC_APPWRITE_COL_MESSAGES_ID=${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}"
3840
"PUBLIC_APPWRITE_FN_TLDR_ID=${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}"
3941
"PUBLIC_APPWRITE_PROJECT_INIT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}"
4042
"PUBLIC_GROWTH_ENDPOINT=${{ vars.PUBLIC_GROWTH_ENDPOINT }}"
43+
"PUBLIC_POSTHOG_API_KEY=${{ vars.PUBLIC_POSTHOG_API_KEY }}"
4144
"APPWRITE_DB_INIT_ID=${{ secrets.APPWRITE_DB_INIT_ID }}"
4245
"APPWRITE_COL_INIT_ID=${{ secrets.APPWRITE_COL_INIT_ID }}"
4346
"APPWRITE_API_KEY_INIT=${{ secrets.APPWRITE_API_KEY_INIT }}"
4447
"GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}"
4548
"SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}"
49+
"SENTRY_RELEASE=${{ github.event.release.tag_name }}"
4650
4751
deploy:
4852
needs: build
@@ -70,7 +74,7 @@ jobs:
7074
echo "_APP_VERSION=${{ env.TAG }}" >> .env
7175
echo "_APP_DOMAIN=${{ secrets.PRD_APP_DOMAIN }}" >> .env
7276
echo "_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${{ secrets.APP_SYSTEM_SECURITY_EMAIL_ADDRESS }}" >> .env
73-
echo "SEMATEXT_TOKEN=${{ secrets.SEMATEXT_TOKEN }}" >> .env
77+
echo "_APP_BETTER_STACK_INCIDENT_URL=${{ secrets.BETTER_STACK_INCIDENT_URL }}" >> .env
7478
7579
echo ${{ secrets.GH_REGISTRY_TOKEN }} | docker login ghcr.io --username ${{ env.REGISTRY_USERNAME }} --password-stdin
7680
docker-compose -f ${{ env.STACK_FILE }} config

.github/workflows/staging.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,32 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout the repo
20-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4
2121

2222
- name: Login to DockerHub
23-
uses: docker/login-action@v1
23+
uses: docker/login-action@v3
2424
with:
2525
registry: ghcr.io
2626
username: ${{ github.actor }}
2727
password: ${{ secrets.GITHUB_TOKEN }}
2828

2929
- name: Build and push
30-
uses: docker/build-push-action@v2
30+
uses: docker/build-push-action@v6
3131
with:
3232
context: .
3333
push: true
3434
tags: ghcr.io/appwrite/website:${{ env.TAG }}
3535
build-args: |
36+
"PUBLIC_APPWRITE_ENDPOINT=${{ vars.PUBLIC_APPWRITE_ENDPOINT }}"
37+
"PUBLIC_APPWRITE_DASHBOARD=${{ vars.PUBLIC_APPWRITE_DASHBOARD }}"
3638
"PUBLIC_APPWRITE_PROJECT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}"
3739
"PUBLIC_APPWRITE_DB_MAIN_ID=${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}"
3840
"PUBLIC_APPWRITE_COL_THREADS_ID=${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}"
3941
"PUBLIC_APPWRITE_COL_MESSAGES_ID=${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}"
4042
"PUBLIC_APPWRITE_FN_TLDR_ID=${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}"
4143
"PUBLIC_APPWRITE_PROJECT_INIT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}"
4244
"PUBLIC_GROWTH_ENDPOINT=${{ vars.PUBLIC_GROWTH_ENDPOINT }}"
45+
"PUBLIC_POSTHOG_API_KEY=${{ vars.PUBLIC_POSTHOG_API_KEY }}"
4346
"APPWRITE_DB_INIT_ID=${{ secrets.APPWRITE_DB_INIT_ID }}"
4447
"APPWRITE_COL_INIT_ID=${{ secrets.APPWRITE_COL_INIT_ID }}"
4548
"APPWRITE_API_KEY_INIT=${{ secrets.APPWRITE_API_KEY_INIT }}"
@@ -72,7 +75,7 @@ jobs:
7275
echo "_APP_VERSION=${{ env.TAG }}" >> .env
7376
echo "_APP_DOMAIN=${{ secrets.STG_APP_DOMAIN }}" >> .env
7477
echo "_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${{ secrets.APP_SYSTEM_SECURITY_EMAIL_ADDRESS }}" >> .env
75-
echo "SEMATEXT_TOKEN=${{ secrets.SEMATEXT_TOKEN }}" >> .env
78+
echo "_APP_BETTER_STACK_INCIDENT_URL=${{ secrets.BETTER_STACK_INCIDENT_URL }}" >> .env
7679
7780
echo ${{ secrets.GH_REGISTRY_TOKEN }} | docker login ghcr.io --username ${{ env.REGISTRY_USERNAME }} --password-stdin
7881
docker-compose -f ${{ env.STACK_FILE }} config

.github/workflows/stale.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
name: Mark stale issues
22

33
on:
4-
schedule:
5-
- cron: "0 0 * * *" # Midnight Runtime
4+
schedule:
5+
- cron: '0 0 * * *' # Midnight Runtime
66

77
jobs:
8-
stale:
9-
runs-on: ubuntu-latest
8+
stale:
9+
runs-on: ubuntu-latest
1010

11-
steps:
12-
- uses: actions/stale@v9
13-
with:
14-
repo-token: ${{ secrets.GITHUB_TOKEN }}
15-
stale-issue-message: "This issue has been labeled as a 'question', indicating that it requires additional information from the requestor. It has been inactive for 7 days. If no further activity occurs, this issue will be closed in 14 days."
16-
stale-issue-label: "stale"
17-
days-before-stale: 7
18-
days-before-close: 14
19-
remove-stale-when-updated: true
20-
close-issue-message: "This issue has been closed due to inactivity. If you still require assistance, please provide the requested information."
21-
close-issue-reason: "not_planned"
22-
operations-per-run: 100
23-
only-labels: "question"
11+
steps:
12+
- uses: actions/stale@v9
13+
with:
14+
repo-token: ${{ secrets.GITHUB_TOKEN }}
15+
stale-issue-message: "This issue has been labeled as a 'question', indicating that it requires additional information from the requestor. It has been inactive for 7 days. If no further activity occurs, this issue will be closed in 14 days."
16+
stale-issue-label: 'stale'
17+
days-before-stale: 7
18+
days-before-close: 14
19+
remove-stale-when-updated: true
20+
close-issue-message: 'This issue has been closed due to inactivity. If you still require assistance, please provide the requested information.'
21+
close-issue-reason: 'not_planned'
22+
operations-per-run: 100
23+
only-labels: 'question'

.github/workflows/tests.yml

Lines changed: 90 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,102 @@ on:
44
pull_request_target:
55
branches: ['**']
66

7+
permissions: read-all
8+
79
jobs:
10+
format:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
ref: ${{ github.event.pull_request.head.sha }}
16+
- uses: actions/setup-node@v4
17+
with:
18+
node-version: 20
19+
- name: Install corepack
20+
run: npm i -g corepack@latest
21+
- name: Install pnpm
22+
run: corepack enable
23+
- name: Get pnpm store directory
24+
shell: bash
25+
run: |
26+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
27+
- uses: actions/cache@v4
28+
name: Setup pnpm cache
29+
with:
30+
path: ${{ env.STORE_PATH }}
31+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
32+
restore-keys: |
33+
${{ runner.os }}-pnpm-store-
34+
- name: Install dependencies
35+
run: pnpm install --frozen-lockfile
36+
- name: Check formatting
37+
run: pnpm format:check
38+
tests:
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v4
42+
with:
43+
ref: ${{ github.event.pull_request.head.sha }}
44+
- uses: actions/setup-node@v4
45+
with:
46+
node-version: 20
47+
- name: Install corepack
48+
run: npm i -g corepack@latest
49+
- name: Install pnpm
50+
run: corepack enable
51+
- name: Get pnpm store directory
52+
shell: bash
53+
run: |
54+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
55+
- uses: actions/cache@v4
56+
name: Setup pnpm cache
57+
with:
58+
path: ${{ env.STORE_PATH }}
59+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
60+
restore-keys: |
61+
${{ runner.os }}-pnpm-store-
62+
- name: Install dependencies
63+
run: pnpm install --frozen-lockfile
64+
- name: Install playwright dependencies
65+
run: pnpm exec playwright install --with-deps chromium
66+
- name: Run tests
67+
env:
68+
PUBLIC_APPWRITE_ENDPOINT: ${{ vars.PUBLIC_APPWRITE_ENDPOINT }}
69+
PUBLIC_APPWRITE_DASHBOARD: ${{ vars.PUBLIC_APPWRITE_DASHBOARD }}
70+
PUBLIC_APPWRITE_PROJECT_ID: ${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}
71+
PUBLIC_APPWRITE_DB_MAIN_ID: ${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}
72+
PUBLIC_APPWRITE_COL_THREADS_ID: ${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}
73+
PUBLIC_APPWRITE_COL_MESSAGES_ID: ${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}
74+
PUBLIC_APPWRITE_FN_TLDR_ID: ${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}
75+
PUBLIC_APPWRITE_PROJECT_INIT_ID: ${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}
76+
PUBLIC_GROWTH_ENDPOINT: ${{ vars.PUBLIC_GROWTH_ENDPOINT }}
77+
PUBLIC_POSTHOG_API_KEY: ${{ vars.PUBLIC_POSTHOG_API_KEY }}
78+
APPWRITE_DB_INIT_ID: ${{ secrets.APPWRITE_DB_INIT_ID }}
79+
APPWRITE_COL_INIT_ID: ${{ secrets.APPWRITE_COL_INIT_ID }}
80+
APPWRITE_API_KEY_INIT: ${{ secrets.APPWRITE_API_KEY_INIT }}
81+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
82+
run: pnpm test
883
build:
984
runs-on: ubuntu-latest
1085
steps:
1186
- uses: actions/checkout@v4
1287
with:
1388
ref: ${{ github.event.pull_request.head.sha }}
1489
- name: Use Node.js
15-
uses: actions/setup-node@v3
90+
uses: actions/setup-node@v4
1691
with:
1792
node-version: 20
93+
- name: Install corepack
94+
run: npm i -g corepack@latest
1895
- name: Install pnpm
1996
run: corepack enable
2097
- name: Get pnpm store directory
2198
shell: bash
2299
run: |
23100
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
24101
25-
- uses: actions/cache@v3
102+
- uses: actions/cache@v4
26103
name: Setup pnpm cache
27104
with:
28105
path: ${{ env.STORE_PATH }}
@@ -33,14 +110,17 @@ jobs:
33110
run: pnpm install --frozen-lockfile
34111
- name: Build Website
35112
env:
36-
NODE_OPTIONS: '--max_old_space_size=8192'
37-
PUBLIC_APPWRITE_PROJECT_ID: ${{ secrets.PUBLIC_APPWRITE_PROJECT_ID }}
38-
PUBLIC_APPWRITE_DB_MAIN_ID: ${{ secrets.PUBLIC_APPWRITE_DB_MAIN_ID }}
39-
PUBLIC_APPWRITE_COL_THREADS_ID: ${{ secrets.PUBLIC_APPWRITE_COL_THREADS_ID }}
40-
PUBLIC_APPWRITE_COL_MESSAGES_ID: ${{ secrets.PUBLIC_APPWRITE_COL_MESSAGES_ID }}
41-
PUBLIC_APPWRITE_FN_TLDR_ID: ${{ secrets.PUBLIC_APPWRITE_FN_TLDR_ID }}
42-
PUBLIC_APPWRITE_PROJECT_INIT_ID: ${{ secrets.PUBLIC_APPWRITE_PROJECT_INIT_ID }}
43-
PUBLIC_GROWTH_ENDPOINT: ${{ secrets.PUBLIC_GROWTH_ENDPOINT }}
113+
NODE_OPTIONS: '--max_old_space_size=16384'
114+
PUBLIC_APPWRITE_ENDPOINT: ${{ vars.PUBLIC_APPWRITE_ENDPOINT }}
115+
PUBLIC_APPWRITE_DASHBOARD: ${{ vars.PUBLIC_APPWRITE_DASHBOARD }}
116+
PUBLIC_APPWRITE_PROJECT_ID: ${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}
117+
PUBLIC_APPWRITE_DB_MAIN_ID: ${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}
118+
PUBLIC_APPWRITE_COL_THREADS_ID: ${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}
119+
PUBLIC_APPWRITE_COL_MESSAGES_ID: ${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}
120+
PUBLIC_APPWRITE_FN_TLDR_ID: ${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}
121+
PUBLIC_APPWRITE_PROJECT_INIT_ID: ${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}
122+
PUBLIC_GROWTH_ENDPOINT: ${{ vars.PUBLIC_GROWTH_ENDPOINT }}
123+
PUBLIC_POSTHOG_API_KEY: ${{ vars.PUBLIC_POSTHOG_API_KEY }}
44124
APPWRITE_DB_INIT_ID: ${{ secrets.APPWRITE_DB_INIT_ID }}
45125
APPWRITE_COL_INIT_ID: ${{ secrets.APPWRITE_COL_INIT_ID }}
46126
APPWRITE_API_KEY_INIT: ${{ secrets.APPWRITE_API_KEY_INIT }}

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ node_modules
33
/build
44
/.svelte-kit
55
/.idea
6+
/.zed
67
/package
78
.env
89
.env.*
@@ -15,3 +16,9 @@ package-lock.json
1516
.vscode
1617
# Sentry Config File
1718
.sentryclirc
19+
.history
20+
terraform/**/.t*
21+
terraform/**/.env
22+
terraform/**/**/*.tfstate*
23+
/.cache
24+
/test-results

.gitpod.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,5 @@
55
# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart
66

77
tasks:
8-
- init: pnpm install && pnpm run build
9-
command: pnpm run dev
10-
11-
8+
- init: pnpm install && pnpm run build
9+
command: pnpm run dev

0 commit comments

Comments
 (0)