Add automatic Pages deploy

Add an automatic Pages deploy on push to main
This commit is contained in:
Joshua Seigler 2022-10-09 21:35:59 -04:00 committed by Joshua Seigler
parent 2a4cd44504
commit 11d3fb8aaf
4 changed files with 51 additions and 56 deletions

46
.github/workflows/pages.yml vendored Normal file
View file

@ -0,0 +1,46 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ['main']
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: 'pages'
cancel-in-progress: true
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run the bundler
run: |
npm ci
npx parcel build --public-url ./
- name: Setup Pages
uses: actions/configure-pages@v2
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
# Upload entire repository
path: './dist'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1

48
package-lock.json generated
View file

@ -18,7 +18,6 @@
"simpledotcss": "^2.1.1" "simpledotcss": "^2.1.1"
}, },
"devDependencies": { "devDependencies": {
"git-directory-deploy": "^1.5.1",
"parcel": "^2.7.0" "parcel": "^2.7.0"
} }
}, },
@ -1901,19 +1900,6 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/git-directory-deploy": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/git-directory-deploy/-/git-directory-deploy-1.5.1.tgz",
"integrity": "sha512-EKPNaAZBvSE0ZH/jy9awJAzuCOHqEKLj+ESa/rKxnGCiW+tbraWdd0admPAkFps7Aq87VKG5fWP4ldk4ATqXlg==",
"dev": true,
"dependencies": {
"lodash": "^4.14.2",
"minimist": "^1.1.0"
},
"bin": {
"git-directory-deploy": "index.js"
}
},
"node_modules/globals": { "node_modules/globals": {
"version": "13.17.0", "version": "13.17.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
@ -2310,12 +2296,6 @@
"lie": "3.1.1" "lie": "3.1.1"
} }
}, },
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/loose-envify": { "node_modules/loose-envify": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@ -2333,12 +2313,6 @@
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
"dev": true "dev": true
}, },
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/msgpackr": { "node_modules/msgpackr": {
"version": "1.7.2", "version": "1.7.2",
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.2.tgz", "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.2.tgz",
@ -4129,16 +4103,6 @@
"integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
"dev": true "dev": true
}, },
"git-directory-deploy": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/git-directory-deploy/-/git-directory-deploy-1.5.1.tgz",
"integrity": "sha512-EKPNaAZBvSE0ZH/jy9awJAzuCOHqEKLj+ESa/rKxnGCiW+tbraWdd0admPAkFps7Aq87VKG5fWP4ldk4ATqXlg==",
"dev": true,
"requires": {
"lodash": "^4.14.2",
"minimist": "^1.1.0"
}
},
"globals": { "globals": {
"version": "13.17.0", "version": "13.17.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
@ -4343,12 +4307,6 @@
"lie": "3.1.1" "lie": "3.1.1"
} }
}, },
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"loose-envify": { "loose-envify": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@ -4363,12 +4321,6 @@
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
"dev": true "dev": true
}, },
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"msgpackr": { "msgpackr": {
"version": "1.7.2", "version": "1.7.2",
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.2.tgz", "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.7.2.tgz",

View file

@ -7,10 +7,8 @@
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"start": "parcel", "start": "parcel",
"build": "parcel build", "build": "parcel build --public-url ./",
"deploy": "echo > ./dist/.nojekyll && git-directory-deploy --directory dist/", "clean": "rm -rf ./dist"
"clean": "rm -rf ./dist",
"publish": "npm run clean && npm run build && npm run deploy"
}, },
"keywords": [ "keywords": [
"presentation", "presentation",
@ -32,7 +30,6 @@
"simpledotcss": "^2.1.1" "simpledotcss": "^2.1.1"
}, },
"devDependencies": { "devDependencies": {
"git-directory-deploy": "^1.5.1",
"parcel": "^2.7.0" "parcel": "^2.7.0"
}, },
"prettier": { "prettier": {

View file

@ -1,12 +1,12 @@
import React from 'react' import React from 'react'
import { createRoot } from 'react-dom/client' import { createRoot } from 'react-dom/client'
import { createBrowserRouter, RouterProvider } from 'react-router-dom' import { createHashRouter, RouterProvider } from 'react-router-dom'
import { ErrorPage } from './error-page' import { ErrorPage } from './error-page'
import { App } from './App' import { App } from './App'
const router = createBrowserRouter([ const router = createHashRouter([
{ {
path: '/*', path: '*',
element: <App />, element: <App />,
errorElement: <ErrorPage /> errorElement: <ErrorPage />
} }