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{" "} Vercel Logo