44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: circleci/node:latest
|
|
working_directory: ~/app
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Get current git commit message
|
|
command: |
|
|
echo "export COMMIT_MESSAGE=\"$(git log --format=oneline -n 1 $CIRCLE_SHA1)\"" >> $BASH_ENV
|
|
source $BASH_ENV
|
|
- run:
|
|
name: Install npm deployment app
|
|
command: sudo npm install -g github-release-cli
|
|
- run:
|
|
name: Build client javascript
|
|
command: |
|
|
npm install
|
|
npm run build
|
|
- deploy:
|
|
name: Create a release
|
|
command: |
|
|
PACKAGE_VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[", ]//g')
|
|
echo "Packaging to ${CIRCLE_PROJECT_REPONAME}_build-sc.zip"
|
|
zip "${CIRCLE_PROJECT_REPONAME}_build-sc.zip" index.mjs package.json api/**/* api/*
|
|
echo "Creating release '${PACKAGE_VERSION}.${CIRCLE_BUILD_NUM}'"
|
|
github-release upload \
|
|
--commitish $CIRCLE_SHA1 \
|
|
--token $GITHUB_TOKEN \
|
|
--owner $CIRCLE_PROJECT_USERNAME \
|
|
--repo $CIRCLE_PROJECT_REPONAME \
|
|
--tag "v${PACKAGE_VERSION}.${CIRCLE_BUILD_NUM}" \
|
|
--name "v${PACKAGE_VERSION}.${CIRCLE_BUILD_NUM}" \
|
|
--body "Automatic CircleCI Build of v${PACKAGE_VERSION}.${CIRCLE_BUILD_NUM} from ${CIRCLE_SHA1}: ${COMMIT_MESSAGE}" \
|
|
"${CIRCLE_PROJECT_REPONAME}_build-sc.zip"
|
|
|
|
workflows:
|
|
version: 2
|
|
build_deploy:
|
|
jobs:
|
|
- build:
|
|
context: github-thething
|