Skip to content

Commit

Permalink
feat: adds deploy pipeline and addresses linting issues
Browse files Browse the repository at this point in the history
  • Loading branch information
dutterbutter committed Mar 21, 2024
1 parent 2ad62f6 commit a939ab8
Show file tree
Hide file tree
Showing 19 changed files with 203 additions and 201 deletions.
14 changes: 13 additions & 1 deletion .firebaserc
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
{
"projects": {
"default": "zksync-docs-staging"
"default": "zksync-docs"
},
"targets": {
"zksync-docs": {
"hosting": {
"prod": [
"zksync-docs"
],
"staging": [
"zksync-docs-staging"
]
}
}
}
}
55 changes: 35 additions & 20 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,54 @@ name: clean 🧹
on:
pull_request:
branches: [main, staging]

workflow_dispatch:

jobs:
format:
name: format
setup:
name: Setup Environment
runs-on: ubuntu-latest
outputs:
cache-key: ${{ steps.cache-keys.outputs.key }}
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
- id: cache-keys
run: echo "::set-output name=key::$(bun hash **/*.lock)"

format:
name: Format Code
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Runs Prettier Formatter
run: bun run lint:prettier

spelling:
name: spelling
name: Check Spelling
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- name: Runs cspell spell checker
run: |
bun install
bun run lint:spelling
- name: Runs cSpell Spell Checker
run: bun run lint:spelling

lint:
name: lint markdown
markdown-lint:
name: Lint Markdown
needs: setup
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
- name: Runs Markdown Linter
run: bun run lint:markdown

eslint:
name: Lint Code
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Runs ESLint
run: bun run lint:eslint
30 changes: 30 additions & 0 deletions .github/workflows/deploy-preview.yml
Original file line number Diff line number Diff line change
@@ -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 }}
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 docs:build

- name: "Deploy preview"
uses: matter-labs/action-hosting-deploy@main
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZKSYNC_DOCS }}"
target: staging
projectId: zksync-docs
56 changes: 56 additions & 0 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: "🚀 Deploy Preview"
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 docs:build
# 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 }}"
30 changes: 30 additions & 0 deletions .github/workflows/deploy-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "🏗️ Staging Builder"
on:
push:
branches: [staging]

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
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 docs:build

- uses: matter-labs/action-hosting-deploy@main
with:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZKSYNC_DOCS }}"
target: staging
projectId: zksync-docs
channelId: live
20 changes: 0 additions & 20 deletions .github/workflows/firebase-hosting-merge.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/firebase-hosting-pull-request.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/secrets_scanner.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Leaked Secrets Scan
name: secret 🔍
on:
pull_request:
merge_group:
jobs:
TruffleHog:
scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
Expand Down
6 changes: 4 additions & 2 deletions app.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<script setup lang="ts">
import type { ParsedContent } from '@nuxt/content/dist/runtime/types';
import FooterComponent from './components/FooterComponent.vue';
import HeaderComponent from './components/HeaderComponent.vue';
const { seo } = useAppConfig();
Expand Down Expand Up @@ -52,15 +54,15 @@ provide('navigation', navigation);
<div>
<NuxtLoadingIndicator />

<Header />
<HeaderComponent />

<UMain>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</UMain>

<Footer />
<FooterComponent />

<ClientOnly>
<LazyUContentSearch
Expand Down
Binary file modified bun.lockb
Binary file not shown.
File renamed without changes.
File renamed without changes.
31 changes: 27 additions & 4 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"headers": [
{
"source": "**",
"headers": [
{
"key": "Cache-Control",
"value": "no-cache, no-store, must-revalidate"
},
{
"key": "Referrer-Policy",
"value": "no-referrer, strict-origin-when-cross-origin"
},
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-Frame-Options",
"value": "DENY"
},
{
"key": "X-XSS-Protection",
"value": "1; mode=block"
}
]
}
]
}
}
6 changes: 0 additions & 6 deletions nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,4 @@ export default defineNuxtConfig({
},
},
},
// deployment settings for Firebase
nitro: {
firebase: {
gen: 2,
},
},
});
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"husky": "^9.0.11",
"markdownlint": "^0.33.0",
"markdownlint-cli2": "^0.12.1",
"particles.vue3": "^2.12.0",
"prettier": "^3.1.0",
"prettier-eslint": "^16.1.2",
"prettier-plugin-tailwindcss": "^0.5.12",
Expand Down Expand Up @@ -50,7 +51,9 @@
"lint:markdown": "markdownlint-cli2 \"content/**/*.md\" --config \".markdownlint.json\"",
"lint:eslint": "eslint .",
"lint:prettier": "prettier --check .",
"fix:prettier": "prettier --write .",
"prepare": "husky",
"postinstall": "nuxt prepare"
"postinstall": "nuxt prepare",
"ci:check": "bun run lint:eslint && bun run lint:prettier && bun run lint:spelling && bun run lint:markdown"
}
}
2 changes: 1 addition & 1 deletion pages/about-us.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<script setup lang="ts"></script>

<template>This is the about page.</template>
<template><div>This is the about page.</div></template>
2 changes: 1 addition & 1 deletion pages/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ const particlesLoaded = async (container: unknown) => {
<div>
<vue-particles
id="tsparticles"
@particles-loaded="particlesLoaded"
:options="{
fpsLimit: 120,
interactivity: {
Expand Down Expand Up @@ -86,6 +85,7 @@ const particlesLoaded = async (container: unknown) => {
},
detectRetina: true,
}"
@particles-loaded="particlesLoaded"
/>
<ULandingHero
v-if="page.hero"
Expand Down
Loading

0 comments on commit a939ab8

Please sign in to comment.