Skip to content

Instantly share code, notes, and snippets.

@ClydeDz
Created April 1, 2021 11:12
Show Gist options
  • Select an option

  • Save ClydeDz/b8ddffaa6b72f39bd0a836dd4149f7b3 to your computer and use it in GitHub Desktop.

Select an option

Save ClydeDz/b8ddffaa6b72f39bd0a836dd4149f7b3 to your computer and use it in GitHub Desktop.

Revisions

  1. ClydeDz created this gist Apr 1, 2021.
    57 changes: 57 additions & 0 deletions build-deploy.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,57 @@
    name: Build & deploy

    on:
    push:
    branches:
    - main
    pull_request:
    branches:
    - main

    jobs:
    build:
    name: Build
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
    uses: actions/checkout@v2

    - name: Install Node.js
    uses: actions/setup-node@v1
    with:
    node-version: 13.x

    - name: Install NPM packages
    run: npm ci

    - name: Build project
    run: npm run build

    - name: Run tests
    run: npm run test

    - name: Upload production-ready build files
    uses: actions/upload-artifact@v2
    with:
    name: production-files
    path: ./build

    deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'

    steps:
    - name: Download artifact
    uses: actions/download-artifact@v2
    with:
    name: production-files
    path: ./build

    - name: Deploy to gh-pages
    uses: peaceiris/actions-gh-pages@v3
    with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    publish_dir: ./build