Merge branch 'camjac251-camjac251-build-action' into safe.fiery.me

Also updated bump-versions.js to NOT require utilsController.js.
This is required to make sure GitHub runner can execute the script
without config.js existing in root directory.
To begin with the script don't particularly need anything much from the
said controller.
This commit is contained in:
Bobby Wibowo 2020-07-30 05:09:08 +07:00
commit df9887386a
No known key found for this signature in database
GPG Key ID: 51C3A1E1E22D26CF
2 changed files with 60 additions and 2 deletions

46
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: build
on:
push:
branches:
- safe.fiery.me
paths:
- 'src/**/*.css'
- 'src/**/*.js'
- 'src/**/*.scss'
jobs:
build:
name: Build client assets and bump v1 version string
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install dependencies
run: yarn install
- name: yarn build
run: yarn build
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Rebuilt client assets and bumped v1 version string
env:
CI: true

View File

@ -1,9 +1,21 @@
const { promisify } = require('util')
const fs = require('fs')
const path = require('path')
const utils = require('../controllers/utilsController')
const self = {
// This is a parallel of utilsController.js->stripIndents().
// Added here so that this script won't have to import the said controller.
stripIndents: string => {
if (!string) return
const result = string.replace(/^[^\S\n]+/gm, '')
const match = result.match(/^[^\S\n]*(?=\S)/gm)
const indent = match && Math.min(...match.map(el => el.length))
if (indent) {
const regexp = new RegExp(`^.{${indent}}`, 'gm')
return result.replace(regexp, '')
}
return result
},
access: promisify(fs.access),
readFile: promisify(fs.readFile),
writeFile: promisify(fs.writeFile),
@ -33,7 +45,7 @@ const self = {
}
if (args.includes('--help') || args.includes('-h') || !Object.keys(self.types).length)
return console.log(utils.stripIndents(`
return console.log(self.stripIndents(`
Bump version strings for client-side assets.
Usage: