diff --git a/.firebaserc b/.firebaserc
new file mode 100644
index 00000000..e983fad5
--- /dev/null
+++ b/.firebaserc
@@ -0,0 +1,7 @@
+{
+ "projects": {
+ "default": "zksync-docs-staging-5eb09",
+ "prod": "zksync-docs"
+ },
+ "etags": {}
+}
diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml
index b8862165..115b9e1f 100644
--- a/.github/workflows/checks.yaml
+++ b/.github/workflows/checks.yaml
@@ -1,22 +1,21 @@
-name: clean ๐งน
+name: check ๐ต๏ธ
on:
pull_request:
branches: [main, staging]
-
workflow_dispatch:
jobs:
format:
- name: format
+ name: code_format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- - name: Runs prettier formatter
- run: |
- bun install
- bun run lint:prettier
+ - name: Install Dependencies
+ run: bun install
+ - name: Runs Prettier Formatter
+ run: bun run lint:prettier
spelling:
name: spelling
@@ -24,18 +23,29 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- - name: Runs cspell spell checker
- run: |
- bun install
- bun run lint:spelling
+ - name: Install Dependencies
+ run: bun install
+ - name: Runs cSpell Spell Checker
+ run: bun run lint:spelling
+
+ markdown-lint:
+ name: markdown_lint
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: oven-sh/setup-bun@v1
+ - name: Install Dependencies
+ run: bun install
+ - name: Runs Markdown Linter
+ run: bun run lint:markdown
- lint:
- name: lint markdown
+ eslint:
+ name: code_lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- - name: Runs mdl markdown linter
- run: |
- bun install
- bun run lint:markdown
\ No newline at end of file
+ - name: Install Dependencies
+ run: bun install
+ - name: Runs ESLint
+ run: bun run lint:eslint
diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml
new file mode 100644
index 00000000..dc5f22d1
--- /dev/null
+++ b/.github/workflows/deploy-preview.yml
@@ -0,0 +1,30 @@
+name: "preview builder ๐"
+on:
+ pull_request:
+ workflow_dispatch:
+
+jobs:
+ build_and_preview:
+ env:
+ NUXT_UI_PRO_LICENSE: ${{ secrets.NUXT_UI_PRO_LICENSE }}
+ NUXT_PUBLIC_SITE_URL: ${{ secrets.NUXT_PUBLIC_SITE_URL }}
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event.pull_request.head.repo.full_name == github.repository }}
+ runs-on: ubuntu-latest
+ outputs:
+ output_urls: "${{ steps.preview_deploy.outputs.urls }}"
+ steps:
+ - uses: actions/checkout@v4 # v4
+
+ - uses: oven-sh/setup-bun@v1
+
+ - name: "Install dependencies"
+ run: bun install
+ - name: "Deploy target: staging"
+ run: bun run build && bun run generate
+
+ - name: "Deploy preview"
+ uses: matter-labs/action-hosting-deploy@main
+ with:
+ repoToken: '${{ secrets.GITHUB_TOKEN }}'
+ firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZKSYNC_DOCS_STAGING_5EB09 }}"
+ projectId: zksync-docs-staging-5eb09
\ No newline at end of file
diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml
new file mode 100644
index 00000000..bb76800e
--- /dev/null
+++ b/.github/workflows/deploy-prod.yml
@@ -0,0 +1,56 @@
+name: "deploy ๐"
+on:
+ push:
+ branches: [main]
+
+jobs:
+ build_and_deploy:
+ env:
+ NUXT_UI_PRO_LICENSE: ${{ secrets.NUXT_UI_PRO_LICENSE }}
+ if: ${{ github.event.repository.full_name == github.repository }}
+ runs-on: ubuntu-latest
+ environment: prod
+ steps:
+ - uses: actions/checkout@v4 # v4
+ with:
+ fetch-depth: 0
+ # Whether to configure the token or SSH key with the local git config
+ # Default: true
+ persist-credentials: false # <--- checking this in commit context
+
+ - uses: oven-sh/setup-bun@v1
+
+ - name: "Install dependencies"
+ run: bun install
+ - name: "Deploy target: staging"
+ run: bun run build && bun run generate
+ # TODO: ask about below
+ # env:
+ # RUDDERSTACK_WRITE_KEY: "${{ secrets.RUDDERSTACK_WRITE_KEY }}"
+ # RUDDERSTACK_DATA_PLANE_URL: "${{ secrets.RUDDERSTACK_DATA_PLANE_URL }}"
+
+ - uses: matter-labs/action-hosting-deploy@main
+ with:
+ repoToken: "${{ secrets.GITHUB_TOKEN }}"
+ firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZKSYNC_DOCS }}"
+ target: prod
+ projectId: zksync-docs
+ channelId: live
+
+ # TODO: re-enable once we are closer to production deployment
+ # - name: Purge cf cache
+ # uses: nathanvaughn/actions-cloudflare-purge@db8c58f61ba4c3ec77229c8fa14ddebb3b59932f # v3.1.0
+ # with:
+ # cf_zone: ${{ secrets.CLOUDFLARE_ZONE }}
+ # cf_auth: ${{ secrets.CLOUDFLARE_AUTH_KEY }}
+ # hosts: |
+ # docs.zksync.io
+ # era.zksync.io
+ # v2-docs.zksync.io
+
+ # TODO: Implement reindex task tracking instead of blindly exiting on task submit
+ # - name: Trigger Algolia reindex
+ # run: |
+ # curl -X POST "${{ secrets.ALGOLIA_CRAWLER_BASE_URL }}/crawlers/${{ secrets.ALGOLIA_CRAWLER_ID }}/reindex" \
+ # -H "Content-Type: application/json" \
+ # --user "${{ secrets.ALGOLIA_CRAWLER_USER_ID }}:${{ secrets.ALGOLIA_CRAWLER_API_KEY }}"
\ No newline at end of file
diff --git a/.github/workflows/deploy-staging.yml b/.github/workflows/deploy-staging.yml
new file mode 100644
index 00000000..e0086118
--- /dev/null
+++ b/.github/workflows/deploy-staging.yml
@@ -0,0 +1,30 @@
+name: "deploy staging ๐๏ธ"
+on:
+ push:
+ branches: [staging]
+
+jobs:
+ build_and_deploy:
+ env:
+ NUXT_UI_PRO_LICENSE: ${{ secrets.NUXT_UI_PRO_LICENSE }}
+ NUXT_PUBLIC_SITE_URL: ${{ secrets.NUXT_PUBLIC_SITE_URL }}
+ if: ${{ github.event.repository.full_name == github.repository }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4 # v4
+ with:
+ ref: "${{ github.event.inputs.ref }}"
+
+ - uses: oven-sh/setup-bun@v1
+
+ - name: "Install dependencies"
+ run: bun install
+ - name: "Deploy target: staging"
+ run: bun run build && bun run generate
+
+ - uses: matter-labs/action-hosting-deploy@main
+ with:
+ repoToken: "${{ secrets.GITHUB_TOKEN }}"
+ firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZKSYNC_DOCS_STAGING_5EB09 }}"
+ projectId: zksync-docs-staging-5eb09
+ channelId: live
\ No newline at end of file
diff --git a/.github/workflows/secrets_scanner.yaml b/.github/workflows/secrets_scanner.yaml
index 4be8437d..8904a999 100644
--- a/.github/workflows/secrets_scanner.yaml
+++ b/.github/workflows/secrets_scanner.yaml
@@ -1,9 +1,9 @@
-name: Leaked Secrets Scan
+name: scan ๐
on:
pull_request:
merge_group:
jobs:
- TruffleHog:
+ secrets:
runs-on: ubuntu-latest
steps:
- name: Checkout code
diff --git a/.gitignore b/.gitignore
index feb2e8b6..763090fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -99,3 +99,4 @@ yarn.lock
.nitro
.cache
dist
+.firebase
\ No newline at end of file
diff --git a/.markdownlint.json b/.markdownlint.json
index 8a59db9f..123df027 100644
--- a/.markdownlint.json
+++ b/.markdownlint.json
@@ -13,5 +13,9 @@
"line_length": 120,
"tables": false
},
- "MD033": false
+ "MD033": false,
+ "MD003": false,
+ "MD034": false,
+ "MD024": false,
+ "MD022": false
}
diff --git a/app.vue b/app.vue
index 6a1a44f8..b31c0f44 100644
--- a/app.vue
+++ b/app.vue
@@ -1,5 +1,7 @@
-This is the about page.
+