Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Initial Adoption of Continous Deployment using semantic-release #235

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 30 additions & 15 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ version: 2
defaults: &defaults
working_directory: /tmp/project
docker:
- image: walberla/buildenv-ubuntu-clang:4.0
environment:
CIRCLE_BUILD_IMAGE: ubuntu
ATOM_CHANNEL: stable
DISPLAY: :99
- image: arcanemagus/atom-docker-ci:stable

jobs:
checkout_code:
Expand Down Expand Up @@ -41,11 +37,10 @@ jobs:
at: /tmp
- run:
name: Update APT
command: apt-get update
# Install some pre-requisite packages and missing dependencies from the atom package
command: sudo apt-get update
- run:
name: Atom Prerequisites
command: apt-get --assume-yes --quiet --no-install-suggests --no-install-recommends install sudo xvfb libxss1 libasound2
name: Install Clang
command: sudo apt-get --assume-yes --quiet --no-install-suggests --no-install-recommends install clang-4.0
# Fire up a VFB to run Atom in
- run:
name: Create VFB for Atom to run in
Expand All @@ -62,19 +57,17 @@ jobs:

beta:
<<: *defaults
environment:
ATOM_CHANNEL: beta
image: arcanemagus/atom-docker-ci:beta
steps:
# Restore project state
- attach_workspace:
at: /tmp
- run:
name: Update APT
command: apt-get update
# Install some pre-requisite packages and missing dependencies from the atom package
command: sudo apt-get update
- run:
name: Atom Prerequisites
command: apt-get --assume-yes --quiet --no-install-suggests --no-install-recommends install sudo xvfb libxss1 libasound2
name: Install Clang
command: sudo apt-get --assume-yes --quiet --no-install-suggests --no-install-recommends install clang-4.0
# Fire up a VFB to run Atom in
- run:
name: Create VFB for Atom to run in
Expand All @@ -84,6 +77,22 @@ jobs:
name: Atom test
command: ./build-package.sh


release:
<<: *defaults
steps:
# Restore project state
- attach_workspace:
at: /tmp
- run:
name: semantic-release
command: npx semantic-release
# Cache node_modules
- save_cache:
paths:
- node_modules
key: v2-dependencies-{{ checksum "package.json" }}

workflows:
version: 2
test_package:
Expand All @@ -95,3 +104,9 @@ workflows:
- beta:
requires:
- checkout_code
- release:
requires:
- stable
filters:
branches:
only: master
17 changes: 16 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
}
},
"scripts": {
"commitmsg": "commitlint -e $GIT_PARAMS",
"test": "apm test",
"lint": "eslint ."
},
Expand All @@ -64,6 +65,12 @@
"clang-flags": "^0.2.2"
},
"devDependencies": {
"@commitlint/cli": "^6.1.3",
"@commitlint/config-conventional": "^6.1.3",
"@commitlint/travis-cli": "^6.1.3",
"@semantic-release/apm-config": "^2.0.1",
"husky": "^0.14.3",
"semantic-release": "^15.1.7",
"eslint": "^4.6.0",
"eslint-config-airbnb-base": "^12.0.0",
"eslint-plugin-import": "^2.7.0",
Expand Down Expand Up @@ -92,5 +99,13 @@
"browser": true,
"node": true
}
},
"release": {
"extends": "@semantic-release/apm-config"
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
}
}
}