Skip to content

Commit

Permalink
feat: adds deploy pipeline and addresses linting issues
Browse files Browse the repository at this point in the history
feat: adds deploy pipeline and addresses linting issues

feat: adds deploy pipeline and addresses linting issues
  • Loading branch information
dutterbutter committed Mar 22, 2024
1 parent 2ad62f6 commit 7a5026b
Show file tree
Hide file tree
Showing 20 changed files with 187 additions and 198 deletions.
17 changes: 15 additions & 2 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
{
"projects": {
"default": "zksync-docs-staging"
}
"default": "zksync-docs"
},
"targets": {
"zksync-docs": {
"hosting": {
"prod": [
"zksync-docs"
],
"staging": [
"zksync-docs-staging"
]
}
}
},
"etags": {}
}
44 changes: 27 additions & 17 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
@@ -1,41 +1,51 @@
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
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: 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
- name: Install Dependencies
run: bun install
- name: Runs ESLint
run: bun run lint:eslint
31 changes: 31 additions & 0 deletions .github/workflows/deploy-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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 }}"
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 🚀"
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 }}"
31 changes: 31 additions & 0 deletions .github/workflows/deploy-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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 }}"
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,4 @@ yarn.lock
.nitro
.cache
dist
.firebase
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.
22 changes: 14 additions & 8 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
"hosting": [
{
"target": "staging",
"public": ".output/public",
"cleanUrls": true,
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
},
{
"target": "prod",
"public": ".output/public",
"cleanUrls": true,
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
}
]
}
1 change: 0 additions & 1 deletion nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ export default defineNuxtConfig({
},
},
},
// deployment settings for Firebase
nitro: {
firebase: {
gen: 2,
Expand Down
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 7a5026b

Please sign in to comment.