diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..8cbdfe8
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,69 @@
+name: Deploy to GitHub Pages
+
+# This workflow will trigger on any tag/release created on *any* branch
+# Make sure to create tags/releases only from the "master" branch for consistency
+on:
+ release:
+ types: [published]
+
+jobs:
+ lint-export-client:
+ name: Lint and Export client
+ runs-on: ubuntu-latest
+ env:
+ NEXT_PUBLIC_BASE_PATH: ${{ secrets.NEXT_PUBLIC_BASE_PATH }}
+ NEXT_PUBLIC_FIREBASE_WEB_API_KEY: ${{ secrets.PROD_FIREBASE_WEB_API_KEY }}
+ NEXT_PUBLIC_FIREBASE_WEB_AUTHDOMAIN: ${{ secrets.PROD_FIREBASE_WEB_AUTHDOMAIN }}
+ NEXT_PUBLIC_FIREBASE_WEB_PROJECT_ID: ${{ secrets.PROD_FIREBASE_WEB_PROJECT_ID }}
+ NEXT_PUBLIC_FIREBASE_WEB_STORAGE_BUCKET: ${{ secrets.PROD_FIREBASE_WEB_STORAGE_BUCKET }}
+ NEXT_PUBLIC_FIREBASE_WEB_MESSAGING_SENDER_ID: ${{ secrets.PROD_FIREBASE_WEB_MESSAGING_SENDER_ID }}
+ NEXT_PUBLIC_FIREBASE_WEB_APP_ID: ${{ secrets.PROD_FIREBASE_WEB_APP_ID }}
+ NEXT_PUBLIC_FIREBASE_WEB_MEASUREMENT_ID: ${{ secrets.PROD_FIREBASE_WEB_MEASUREMENT_ID }}
+ steps:
+ - name: Checkout the repository
+ uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.release.tag_name }}
+ - name: Use NodeJS v20.15.0
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20.15.0
+ - name: Install Dependencies and lint
+ run: |
+ cd app
+ npm install
+ - name: Lint
+ run: |
+ cd app
+ npm run lint
+ - name: Export static files
+ run: |
+ cd app
+ npm run export
+ mv out/404/index.html out/404.html
+ - name: Disable Jekyll
+ run: touch app/out/.nojekyll
+ - name: Archive Development Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: main-out
+ path: app/out
+ retention-days: 3
+
+ deploy-client:
+ name: Deploy client to Github Pages
+ needs: lint-export-client
+ runs-on: ubuntu-latest
+ steps:
+ - name: Download Artifact
+ uses: actions/download-artifact@v3
+ with:
+ name: main-out
+ - name: List files for publish
+ run: ls -l -a
+ - name: Deploy to Github Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./
+ publish_branch: gh-pages
diff --git a/README.md b/README.md
index 37c2b63..2ebd2ba 100644
--- a/README.md
+++ b/README.md
@@ -59,15 +59,15 @@ Add the following GitHub Secrets to facilitate deployment to the **development**
### Firebase Project
-| Development | Production | Description |
-| --- | --- | --- |
-| DEV_FIREBASE_WEB_API_KEY | PROD_FIREBASE_WEB_API_KEY | Firebase web API key from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_AUTHDOMAIN | PROD_FIREBASE_WEB_AUTHDOMAIN | Firebase web auth domain key from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_PROJECT_ID | PROD_FIREBASE_WEB_PROJECT_ID | Firebase web project ID from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_STORAGE_BUCKET | PROD_FIREBASE_WEB_STORAGE_BUCKET | Firebase web storage bucket key from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_MESSAGING_SENDER_ID | PROD_FIREBASE_WEB_MESSAGING_SENDER_ID | Firebase web messaging sender ID from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_APP_ID | PROD_FIREBASE_WEB_APP_ID | Firebase web web app key from the Firebase Project Settings configuration file. |
-| DEV_FIREBASE_WEB_MEASUREMENT_ID | PROD_FIREBASE_WEB_MEASUREMENT_ID | Firebase web measurement ID from the Firebase Project Settings configuration file. |
+| Development / Production | Description |
+| --- | --- |
+| DEV_FIREBASE_WEB_API_KEY
PROD_FIREBASE_WEB_API_KEY | Firebase web API key from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_AUTHDOMAIN
PROD_FIREBASE_WEB_AUTHDOMAIN | Firebase web auth domain key from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_PROJECT_ID
PROD_FIREBASE_WEB_PROJECT_ID | Firebase web project ID from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_STORAGE_BUCKET
PROD_FIREBASE_WEB_STORAGE_BUCKET | Firebase web storage bucket key from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_MESSAGING_SENDER_ID
PROD_FIREBASE_WEB_MESSAGING_SENDER_ID | Firebase web messaging sender ID from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_APP_ID
PROD_FIREBASE_WEB_APP_ID | Firebase web web app key from the Firebase Project Settings configuration file. |
+| DEV_FIREBASE_WEB_MEASUREMENT_ID
PROD_FIREBASE_WEB_MEASUREMENT_ID | Firebase web measurement ID from the Firebase Project Settings configuration file. |
### Others
diff --git a/app/src/pages/index.js b/app/src/pages/index.js
index dab7def..867e386 100644
--- a/app/src/pages/index.js
+++ b/app/src/pages/index.js
@@ -22,7 +22,7 @@ export default function Home() {
>
By{" "}