Skip to content

Remove gear up sale (#84) #93

Remove gear up sale (#84)

Remove gear up sale (#84) #93

Workflow file for this run

---
name: Deploy
on:
push:
branches:
- master
- staging
jobs:
Lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: npm ci
- name: Lint
run: npm run lint
Test_Browser_Ubuntu:
name: Test (${{ matrix.browser }} on ubuntu)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser:
- chrome
- firefox
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: npm ci
- name: Setup
run: sudo apt-get install -y xvfb
- name: Build
run: npm run build
env:
NODE_ENV: test
- name: Test
run: |
xvfb-run --auto-servernum npx testcafe ${{ matrix.browser }}:headless test/browser/**
- name: Teardown
if: always()
run: |
xvfb_pids=`ps aux | grep tmp/xvfb-run | grep -v grep | awk '{print $2}'`
if [ "$xvfb_pids" != "" ]; then
sudo kill $xvfb_pids || true
fi
- name: Upload
uses: actions/upload-artifact@v1
if: failure()
with:
name: ${{ matrix.browser }} on ubuntu
path: test/screenshots
Test_Browser_Windows:
name: Test (${{ matrix.browser }} on windows)
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
browser:
- chrome
- edge
- firefox
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: npm ci
- name: Build
run: npm run build
env:
NODE_ENV: test
- name: Test
run: npx testcafe ${{ matrix.browser }} test/browser/**
- name: Upload
uses: actions/upload-artifact@v1
if: failure()
with:
name: ${{ matrix.browser }} on windows
path: test/screenshots
Build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: '0.4.15'
- name: Build Docs
run: mdbook build
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: npm ci
- name: Build Website
run: npm run build
env:
NODE_ENV: production
Deploy:
runs-on: ubuntu-latest
needs:
- Lint
- Test_Browser_Ubuntu
- Test_Browser_Windows
- Build
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Setup AWS
run: sudo apt install -y awscli
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: '0.4.15'
- name: Build Docs
run: mdbook build
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install
run: npm ci
- name: Environment
run: |
if [ $GITHUB_REF == "refs/heads/master" ]; then
echo "DEPLOY_ENV=production" >> $GITHUB_ENV
echo "AWS_ACCESS_KEY_ID=${{ secrets.PRODUCTION_ACCESS_KEY }}" >> $GITHUB_ENV
echo "AWS_SECRET_ACCESS_KEY=${{ secrets.PRODUCTION_ACCESS_SECRET }}" >> $GITHUB_ENV
echo "AWS_DEFAULT_REGION=${{ secrets.PRODUCTION_REGION }}" >> $GITHUB_ENV
echo "AWS_BUCKET=${{ secrets.PRODUCTION_BUCKET }}" >> $GITHUB_ENV
else
echo "DEPLOY_ENV=staging" >> $GITHUB_ENV
echo "AWS_ACCESS_KEY_ID=${{ secrets.STAGING_ACCESS_KEY }}" >> $GITHUB_ENV
echo "AWS_SECRET_ACCESS_KEY=${{ secrets.STAGING_ACCESS_SECRET }}" >> $GITHUB_ENV
echo "AWS_DEFAULT_REGION=${{ secrets.STAGING_REGION }}" >> $GITHUB_ENV
echo "AWS_BUCKET=${{ secrets.STAGING_BUCKET }}" >> $GITHUB_ENV
fi
- name: Build Website
run: npm run build
- name: Upload
run: |
aws s3 sync dist s3://$AWS_BUCKET/ \
--acl public-read \
--cache-control public,max-age=31556952,immutable \
--exclude "*" \
--include "/_nuxt/*"
aws s3 sync dist s3://$AWS_BUCKET/ \
--acl public-read \
--cache-control public,max-age=86400 \
--exclude "/_nuxt/*" \
--exclude "*.html"
aws s3 sync dist s3://$AWS_BUCKET/ \
--acl public-read \
--cache-control public,max-age=3600,stale-while-revalidate=300 \
--exclude "*" \
--include "*.html"