Skip to content

Commit c534b0f

Browse files
authored
Merge branch 'main' into blog-authors-update-roles
2 parents 8ca7967 + d1f24ed commit c534b0f

File tree

2,011 files changed

+25784
-8940
lines changed

Some content is hidden

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

2,011 files changed

+25784
-8940
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=

.github/workflows/production.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,36 +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=${{ secrets.PUBLIC_APPWRITE_ENDPOINT }}"
35-
"PUBLIC_APPWRITE_DASHBOARD=${{ secrets.PUBLIC_APPWRITE_DASHBOARD }}"
34+
"PUBLIC_APPWRITE_ENDPOINT=${{ vars.PUBLIC_APPWRITE_ENDPOINT }}"
35+
"PUBLIC_APPWRITE_DASHBOARD=${{ vars.PUBLIC_APPWRITE_DASHBOARD }}"
3636
"PUBLIC_APPWRITE_PROJECT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}"
3737
"PUBLIC_APPWRITE_DB_MAIN_ID=${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}"
3838
"PUBLIC_APPWRITE_COL_THREADS_ID=${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}"
3939
"PUBLIC_APPWRITE_COL_MESSAGES_ID=${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}"
4040
"PUBLIC_APPWRITE_FN_TLDR_ID=${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}"
4141
"PUBLIC_APPWRITE_PROJECT_INIT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}"
4242
"PUBLIC_GROWTH_ENDPOINT=${{ vars.PUBLIC_GROWTH_ENDPOINT }}"
43+
"PUBLIC_POSTHOG_API_KEY=${{ vars.PUBLIC_POSTHOG_API_KEY }}"
4344
"APPWRITE_DB_INIT_ID=${{ secrets.APPWRITE_DB_INIT_ID }}"
4445
"APPWRITE_COL_INIT_ID=${{ secrets.APPWRITE_COL_INIT_ID }}"
4546
"APPWRITE_API_KEY_INIT=${{ secrets.APPWRITE_API_KEY_INIT }}"
4647
"GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}"
4748
"SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}"
49+
"SENTRY_RELEASE=${{ github.event.release.tag_name }}"
4850
4951
deploy:
5052
needs: build
@@ -72,7 +74,7 @@ jobs:
7274
echo "_APP_VERSION=${{ env.TAG }}" >> .env
7375
echo "_APP_DOMAIN=${{ secrets.PRD_APP_DOMAIN }}" >> .env
7476
echo "_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${{ secrets.APP_SYSTEM_SECURITY_EMAIL_ADDRESS }}" >> .env
75-
echo "SEMATEXT_TOKEN=${{ secrets.SEMATEXT_TOKEN }}" >> .env
77+
echo "_APP_BETTER_STACK_INCIDENT_URL=${{ secrets.BETTER_STACK_INCIDENT_URL }}" >> .env
7678
7779
echo ${{ secrets.GH_REGISTRY_TOKEN }} | docker login ghcr.io --username ${{ env.REGISTRY_USERNAME }} --password-stdin
7880
docker-compose -f ${{ env.STACK_FILE }} config

.github/workflows/staging.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +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=${{ secrets.PUBLIC_APPWRITE_ENDPOINT }}"
37-
"PUBLIC_APPWRITE_DASHBOARD=${{ secrets.PUBLIC_APPWRITE_DASHBOARD }}"
36+
"PUBLIC_APPWRITE_ENDPOINT=${{ vars.PUBLIC_APPWRITE_ENDPOINT }}"
37+
"PUBLIC_APPWRITE_DASHBOARD=${{ vars.PUBLIC_APPWRITE_DASHBOARD }}"
3838
"PUBLIC_APPWRITE_PROJECT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_ID }}"
3939
"PUBLIC_APPWRITE_DB_MAIN_ID=${{ vars.PUBLIC_APPWRITE_DB_MAIN_ID }}"
4040
"PUBLIC_APPWRITE_COL_THREADS_ID=${{ vars.PUBLIC_APPWRITE_COL_THREADS_ID }}"
4141
"PUBLIC_APPWRITE_COL_MESSAGES_ID=${{ vars.PUBLIC_APPWRITE_COL_MESSAGES_ID }}"
4242
"PUBLIC_APPWRITE_FN_TLDR_ID=${{ vars.PUBLIC_APPWRITE_FN_TLDR_ID }}"
4343
"PUBLIC_APPWRITE_PROJECT_INIT_ID=${{ vars.PUBLIC_APPWRITE_PROJECT_INIT_ID }}"
4444
"PUBLIC_GROWTH_ENDPOINT=${{ vars.PUBLIC_GROWTH_ENDPOINT }}"
45+
"PUBLIC_POSTHOG_API_KEY=${{ vars.PUBLIC_POSTHOG_API_KEY }}"
4546
"APPWRITE_DB_INIT_ID=${{ secrets.APPWRITE_DB_INIT_ID }}"
4647
"APPWRITE_COL_INIT_ID=${{ secrets.APPWRITE_COL_INIT_ID }}"
4748
"APPWRITE_API_KEY_INIT=${{ secrets.APPWRITE_API_KEY_INIT }}"
@@ -74,7 +75,7 @@ jobs:
7475
echo "_APP_VERSION=${{ env.TAG }}" >> .env
7576
echo "_APP_DOMAIN=${{ secrets.STG_APP_DOMAIN }}" >> .env
7677
echo "_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${{ secrets.APP_SYSTEM_SECURITY_EMAIL_ADDRESS }}" >> .env
77-
echo "SEMATEXT_TOKEN=${{ secrets.SEMATEXT_TOKEN }}" >> .env
78+
echo "_APP_BETTER_STACK_INCIDENT_URL=${{ secrets.BETTER_STACK_INCIDENT_URL }}" >> .env
7879
7980
echo ${{ secrets.GH_REGISTRY_TOKEN }} | docker login ghcr.io --username ${{ env.REGISTRY_USERNAME }} --password-stdin
8081
docker-compose -f ${{ env.STACK_FILE }} config

.github/workflows/tests.yml

Lines changed: 88 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,99 @@ on:
77
permissions: read-all
88

99
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
1083
build:
1184
runs-on: ubuntu-latest
1285
steps:
1386
- uses: actions/checkout@v4
1487
with:
1588
ref: ${{ github.event.pull_request.head.sha }}
1689
- name: Use Node.js
17-
uses: actions/setup-node@v3
90+
uses: actions/setup-node@v4
1891
with:
1992
node-version: 20
93+
- name: Install corepack
94+
run: npm i -g corepack@latest
2095
- name: Install pnpm
2196
run: corepack enable
2297
- name: Get pnpm store directory
2398
shell: bash
2499
run: |
25100
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
26101
27-
- uses: actions/cache@v3
102+
- uses: actions/cache@v4
28103
name: Setup pnpm cache
29104
with:
30105
path: ${{ env.STORE_PATH }}
@@ -35,16 +110,17 @@ jobs:
35110
run: pnpm install --frozen-lockfile
36111
- name: Build Website
37112
env:
38-
NODE_OPTIONS: '--max_old_space_size=8192'
39-
PUBLIC_APPWRITE_ENDPOINT: ${{ secrets.PUBLIC_APPWRITE_ENDPOINT }}
40-
PUBLIC_APPWRITE_DASHBOARD: ${{ secrets.PUBLIC_APPWRITE_DASHBOARD }}
41-
PUBLIC_APPWRITE_PROJECT_ID: ${{ secrets.PUBLIC_APPWRITE_PROJECT_ID }}
42-
PUBLIC_APPWRITE_DB_MAIN_ID: ${{ secrets.PUBLIC_APPWRITE_DB_MAIN_ID }}
43-
PUBLIC_APPWRITE_COL_THREADS_ID: ${{ secrets.PUBLIC_APPWRITE_COL_THREADS_ID }}
44-
PUBLIC_APPWRITE_COL_MESSAGES_ID: ${{ secrets.PUBLIC_APPWRITE_COL_MESSAGES_ID }}
45-
PUBLIC_APPWRITE_FN_TLDR_ID: ${{ secrets.PUBLIC_APPWRITE_FN_TLDR_ID }}
46-
PUBLIC_APPWRITE_PROJECT_INIT_ID: ${{ secrets.PUBLIC_APPWRITE_PROJECT_INIT_ID }}
47-
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 }}
48124
APPWRITE_DB_INIT_ID: ${{ secrets.APPWRITE_DB_INIT_ID }}
49125
APPWRITE_COL_INIT_ID: ${{ secrets.APPWRITE_COL_INIT_ID }}
50126
APPWRITE_API_KEY_INIT: ${{ secrets.APPWRITE_API_KEY_INIT }}

.gitignore

Lines changed: 2 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.*
@@ -20,3 +21,4 @@ terraform/**/.t*
2021
terraform/**/.env
2122
terraform/**/**/*.tfstate*
2223
/.cache
24+
/test-results

CONTENT.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ Create ordered (numbered) and unordered (bulleted) lists using 1., \*, or -.
4949
**Unordered List**:
5050

5151
```md
52-
- Apple
53-
- Banana
54-
- Cherry
52+
- Apple
53+
- Banana
54+
- Cherry
5555
```
5656

5757
#### Links
@@ -130,18 +130,18 @@ Alternatively, use markdoc tables.
130130
```md
131131
{% table %}
132132

133-
- Heading 1
134-
- Heading 2
133+
- Heading 1
134+
- Heading 2
135135

136136
---
137137

138-
- Row 1 Cell 1
139-
- Row 1 Cell 2
138+
- Row 1 Cell 1
139+
- Row 1 Cell 2
140140

141141
---
142142

143-
- Row 2 Cell 1
144-
- Row 2 cell 2
143+
- Row 2 Cell 1
144+
- Row 2 cell 2
145145

146146
{% /table %}
147147
```
@@ -296,7 +296,7 @@ Configure FCM for push notification to Android and Apple devices.
296296

297297
#### Accordions
298298

299-
Use accordions to reduce page size and collapse information that's not important when a reader is skilling the page.
299+
Use accordions to reduce page size and collapse information that's not important when a reader is scrolling the page.
300300

301301
```
302302
{% accordion %}

CONTRIBUTING.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ To contribute to the Appwrite website, you need to fork, clone, and run the webs
2020

2121
Start by [forking the repository](https://github.com/appwrite/website/fork), which makes a copy of the repo on your GitHub profile. This allows you to make code changes when you don't have permissions in the main Appwrite website repo.
2222

23-
Then, [clone the respository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository#cloning-a-repository).
23+
Then, [clone the repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository#cloning-a-repository).
2424

2525
Alternatively, you can develop the website repo in your browser using [Code Spaces](https://github.com/features/codespaces) or [GitPod](https://www.gitpod.io/#https://github.com/appwrite/website).
2626

@@ -34,13 +34,15 @@ Once you've cloned the Appwrite website repo, running the following command to i
3434
pnpm i
3535
```
3636

37+
**Locate the `.env.example` file in the root directory and rename it to `.env`.** This file contains the required environment variables for the project to function properly.
38+
3739
Then, run the following command to start a development server.
3840

3941
```sh
4042
pnpm run dev
4143
```
4244

43-
Before commiting your code changes, make sure the website repo builds by running:
45+
Before committing your code changes, make sure the website repo builds by running:
4446

4547
```sh
4648
pnpm run build
@@ -60,11 +62,11 @@ doc-548-submit-a-pull-request-section-to-contribution-guide
6062

6163
When `TYPE` can be:
6264

63-
- **feat** - is a new feature
64-
- **doc** - documentation only changes
65-
- **cicd** - changes related to CI/CD system
66-
- **fix** - a bug fix
67-
- **refactor** - code change that neither fixes a bug nor adds a feature
65+
- **feat** - is a new feature
66+
- **doc** - documentation only changes
67+
- **cicd** - changes related to CI/CD system
68+
- **fix** - a bug fix
69+
- **refactor** - code change that neither fixes a bug nor adds a feature
6870

6971
**All PRs must include a commit message with a description of the changes made!**
7072

Dockerfile

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ ENV PUBLIC_APPWRITE_PROJECT_INIT_ID ${PUBLIC_APPWRITE_PROJECT_INIT_ID}
2727
ARG PUBLIC_GROWTH_ENDPOINT
2828
ENV PUBLIC_GROWTH_ENDPOINT ${PUBLIC_GROWTH_ENDPOINT}
2929

30+
ARG PUBLIC_POSTHOG_API_KEY
31+
ENV PUBLIC_POSTHOG_API_KEY ${PUBLIC_POSTHOG_API_KEY}
32+
3033
ARG APPWRITE_DB_INIT_ID
3134
ENV APPWRITE_DB_INIT_ID ${APPWRITE_DB_INIT_ID}
3235

@@ -42,19 +45,26 @@ ENV GITHUB_TOKEN ${GITHUB_TOKEN}
4245
ARG SENTRY_AUTH_TOKEN
4346
ENV SENTRY_AUTH_TOKEN ${SENTRY_AUTH_TOKEN}
4447

48+
ARG SENTRY_RELEASE
49+
ENV SENTRY_RELEASE ${SENTRY_RELEASE}
50+
51+
ARG PUBLIC_POSTHOG_API_KEY
52+
ENV PUBLIC_POSTHOG_API_KEY ${PUBLIC_POSTHOG_API_KEY}
53+
4554
ENV PNPM_HOME="/pnpm"
4655
ENV PATH="$PNPM_HOME:$PATH"
4756

4857
WORKDIR /app
4958
COPY package.json package.json
5059
COPY pnpm-lock.yaml pnpm-lock.yaml
60+
RUN npm i -g corepack@latest
5161
RUN corepack enable
5262

5363
FROM base as build
5464

5565
COPY . .
5666
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
57-
RUN NODE_OPTIONS=--max_old_space_size=8192 pnpm run build
67+
RUN NODE_OPTIONS=--max_old_space_size=16384 pnpm run build
5868

5969
FROM base as final
6070

@@ -69,4 +79,4 @@ COPY --from=build /app/build/ build
6979
COPY --from=build /app/server/ server
7080
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --prod
7181

72-
CMD [ "node", "server/main.js"]
82+
CMD [ "node", "server/main.js"]

0 commit comments

Comments
 (0)