diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 0000000..d4e89b9 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,72 @@ +# https://dev.to/github/how-to-deploy-a-static-site-in-any-framework-of-your-choice-github-pages-neh +name: Deploy to GitHub Pages + +on: + push: + branches: [ main ] + workflow_dispatch: +permissions: + contents: read + pages: write + id-token: write + +jobs: + specs: + runs-on: ubuntu-latest + steps: + - name: Check out your repository using git + uses: actions/checkout@v3 + + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run specs + run: npm run test + + - name: Run linting + run: npm run lint:eslint + + build: + runs-on: ubuntu-latest + needs: specs + env: + NODE_ENV: production + + steps: + - name: Check out your repository using git + uses: actions/checkout@v3 + + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build React + run: npm run build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + name: github-pages + path: ./build + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v3