From b0151c4f4241b625f5500332e4e9348adb4793ba Mon Sep 17 00:00:00 2001 From: Xiaoxing Hu Date: Wed, 1 Nov 2023 14:05:11 +1300 Subject: [PATCH] add ci to deploy website --- .github/workflows/website.yml | 60 +++++++++++++++++++++++++++++++++++ package.json | 3 +- website/astro.config.mjs | 1 + website/public/CNAME | 1 + 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/website.yml create mode 100644 website/public/CNAME diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml new file mode 100644 index 00000000..3e54dbd0 --- /dev/null +++ b/.github/workflows/website.yml @@ -0,0 +1,60 @@ +name: Deploy to GitHub Pages + +on: + # Trigger the workflow every time you push to the `main` branch + # Using a different branch name? Replace `main` with your branch’s name + push: + branches: [main] + # Allows you to run this workflow manually from the Actions tab on GitHub. + workflow_dispatch: + +# Allow this job to clone the repo and create a page deployment +permissions: + contents: read + pages: write + id-token: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout your repository using git + uses: actions/checkout@v3 + + - name: Setup PNPM + uses: pnpm/action-setup@v2 + with: + version: 8.x.x + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 20.x + cache: pnpm + cache-dependency-path: pnpm-lock.yaml + + - name: Install + run: | + pnpm install + pnpm build + + - name: Build + run: | + cd website + pnpm run build + + - name: Upload Page Artifact + uses: actions/upload-pages-artifact@v1 + with: + path: 'website/dist/' + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/package.json b/package.json index eb33c01a..a9cb81b9 100644 --- a/package.json +++ b/package.json @@ -36,5 +36,6 @@ "lint-staged": { "*.{js,jsx,ts,tsx}": "eslint --cache --fix", "*.{js,jsx,ts,tsx,md,html,css,json}": "prettier --write" - } + }, + "packageManager": "pnpm@8" } diff --git a/website/astro.config.mjs b/website/astro.config.mjs index f4c295f2..17ec5e84 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -6,6 +6,7 @@ import tailwind from '@astrojs/tailwind' // https://astro.build/config export default defineConfig({ + site: 'https://orga.js.org', integrations: [ react(), orga({ diff --git a/website/public/CNAME b/website/public/CNAME new file mode 100644 index 00000000..1a0d723d --- /dev/null +++ b/website/public/CNAME @@ -0,0 +1 @@ +orga.js.org