add lint command and github action to deploy on master push

This commit is contained in:
Chuck Dries 2021-06-19 08:11:19 -07:00
parent 410d5b55c8
commit d130dbf336
3 changed files with 39 additions and 28 deletions

View File

@ -1,31 +1,41 @@
# This is a basic workflow to help you get started with Actions
# name: deploy
name: deploy
# # Controls when the action will run. Triggers the workflow on push or pull request
# # events but only for the master branch
# on:
# push:
# branches: [ master ]
# pull_request:
# branches: [ master ]
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# # A workflow run is made up of one or more jobs that can run sequentially or in parallel
# jobs:
# # This workflow contains a single job called "build"
# copy-to-server:
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v2
# - name: rsync directory
# uses: burnett01/rsync-deployments@4.1
# with:
# switches: -avzr --delete --exclude node_modules --exclude '.git*'
# path: ./
# remote_path: /docker-services/letsencrypt/www/personal-website
# remote_host: server.chuckdries.com
# remote_user: ${{ secrets.CI_USER }}
# remote_key: ${{ secrets.CI_SSH_KEY }}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
deploy:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Set Node.js
uses: actions/setup-node@master
with:
node-version: 16.x
- name: Install dependencies
run: yarn install --prod --pure-lockfile
- name: Lint
run: yarn run lint
- name: Build
run: yarn run build
- name: upload
uses: burnett01/rsync-deployments@4.1
with:
switches: -zr --delete --exclude node_modules --exclude '.git*'
path: ./public/
remote_path: /www/personal-website
remote_host: droplet.chuckdries.com
remote_user: ${{ secrets.CI_USER }}
remote_key: ${{ secrets.CI_SSH_KEY }}

View File

@ -14,6 +14,7 @@
"serve": "gatsby serve",
"clean": "gatsby clean",
"lint-fix": "eslint --fix --ext .jsx,.js src",
"lint": "eslint --ext .jsx,.js src",
"upload": "rsync -rz --delete public/ ci@droplet.chuckdries.com:www/personal-website",
"upload-staging": "rsync -rz --delete public/ ci@droplet.chuckdries.com:www/personal-website-staging",
"deploy": "yarn build && yarn upload"

View File

@ -12,7 +12,7 @@ export default function HTML(props) {
name="viewport"
/>
{props.headComponents}
<script async defer data-domain="chuckdries.com" src="https://analytics.chuckdries.com/js/plausible.js"></script>
<script async data-domain="chuckdries.com" defer src="https://analytics.chuckdries.com/js/plausible.js"></script>
</head>
<body {...props.bodyAttributes}>
{props.preBodyComponents}