From fe7725c907ad1dde992456220d39290b3d642bae Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Fri, 23 Sep 2022 15:23:48 +0800 Subject: [PATCH 1/4] feat: add dockerfile --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..d590934715 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:alpine +COPY ./out /usr/share/nginx/html From 1b1a4ebc94a971d5e7e9323278ea211ab9ebc68c Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Fri, 23 Sep 2022 15:24:14 +0800 Subject: [PATCH 2/4] feat: build and push image --- .github/workflows/build.yml | 88 +++++++++++++++++++++++++++++-------- 1 file changed, 69 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 54380c1ba3..00390a6d9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,14 +6,18 @@ on: pull_request: branches: [master] +# Cancels all previous workflow runs for pull requests that have not completed. +# See https://docs.github.com/en/actions/using-jobs/using-concurrency +concurrency: + # The concurrency group contains the workflow name and the branch name for + # pull requests or the commit hash for any other events. + group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} + cancel-in-progress: true + jobs: build: - runs-on: ${{ matrix.os }} - - strategy: - matrix: - node-version: [18.x] - os: [ubuntu-latest] + name: Lint nad Build + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -21,10 +25,10 @@ jobs: with: version: 'latest' - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js uses: actions/setup-node@v2 with: - node-version: ${{ matrix.node-version }} + node-version: 18.x cache: 'pnpm' - name: Restore cache @@ -59,23 +63,69 @@ jobs: with: path: ./out - # Deployment job - deploy: + push_to_registry: + # See https://docs.github.com/en/actions/publishing-packages/publishing-docker-images + name: Push Docker image to Docker Hub if: github.ref == 'refs/heads/master' runs-on: ubuntu-latest needs: build - # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read - pages: write - id-token: write + packages: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} + env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 + - name: Check out the repo + uses: actions/checkout@v2 + + - uses: actions/download-artifact@v3 + with: + path: out + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + # TODO remove comment after public repo + # Deployment job + # deploy: + # name: Deployment to GitHub pages + # if: github.ref == 'refs/heads/master' + # runs-on: ubuntu-latest + # needs: build + + # # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages + # permissions: + # contents: read + # pages: write + # id-token: write + + # environment: + # name: github-pages + # url: ${{ steps.deployment.outputs.page_url }} + + # steps: + # - name: Deploy to GitHub Pages + # id: deployment + # uses: actions/deploy-pages@v1 From e0792e9b598720f9465395f8ad653fc880a9f84c Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Fri, 23 Sep 2022 15:42:40 +0800 Subject: [PATCH 3/4] fix: artifact --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00390a6d9e..149b1652cc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: run: pnpm export - name: Upload artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-artifact@v3 with: path: ./out @@ -82,9 +82,10 @@ jobs: - name: Check out the repo uses: actions/checkout@v2 - - uses: actions/download-artifact@v3 + - name: Download artifact + uses: actions/download-artifact@v3 with: - path: out + path: out/ - name: Log in to Docker Hub uses: docker/login-action@v2 @@ -117,7 +118,6 @@ jobs: # # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages # permissions: - # contents: read # pages: write # id-token: write From 771d3d6eb5763e7ee53046ec1eebd68eac928f51 Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Fri, 23 Sep 2022 15:56:32 +0800 Subject: [PATCH 4/4] chore: remove github pages ci --- .github/workflows/build.yml | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 149b1652cc..a2b3bfa17a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,25 +107,3 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - # TODO remove comment after public repo - # Deployment job - # deploy: - # name: Deployment to GitHub pages - # if: github.ref == 'refs/heads/master' - # runs-on: ubuntu-latest - # needs: build - - # # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages - # permissions: - # pages: write - # id-token: write - - # environment: - # name: github-pages - # url: ${{ steps.deployment.outputs.page_url }} - - # steps: - # - name: Deploy to GitHub Pages - # id: deployment - # uses: actions/deploy-pages@v1