Skip to content

Commit

Permalink
fix(circleci): add new checks attempt 2 (#486)
Browse files Browse the repository at this point in the history
* chore(deps): update husky and have 2 commands in CMD again

* chore(sh): remove unneeded command

* chore(deps): update deps

And rebased the PR on master again
  • Loading branch information
WikiRik authored Mar 13, 2021
1 parent 77b5420 commit 27dbd6f
Show file tree
Hide file tree
Showing 13 changed files with 26,851 additions and 1,008 deletions.
66 changes: 47 additions & 19 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
orbs:
slack: circleci/[email protected]
slack: circleci/[email protected] # FIXME update to v4
node: circleci/[email protected]
shellcheck: circleci/[email protected]
docker: circleci/[email protected]
version: 2.1
jobs:
test:
machine:
image: ubuntu-2004:202010-01
image: ubuntu-2004:202101-01
steps:
- checkout
- run: docker run --name postgres -e POSTGRES_PASSWORD='5ecr3t' -p 5432:5432 -d postgres:13
- run: docker run --name postgres -e POSTGRES_PASSWORD='5ecr3t' -p 5432:5432 -d postgres:10.15
- run:
name: Install Node
command: |
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
echo 'export PATH=/usr/bin:$PATH' >> $BASH_ENV
which node && node -v
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
echo ' [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV
nvm install v14.15.1
nvm alias default v14.15.1
- node/install-packages
- run: mkdir -p ~/reports/jest
- run:
Expand All @@ -28,15 +30,15 @@ jobs:
path: ~/reports
build:
docker:
- image: cimg/base:2020.11
- image: cimg/base:2021.02
steps:
- checkout
- setup_remote_docker:
version: 19.03.13
version: 20.10.2
- run: docker-compose -f docker/docker-compose.yml -f docker/docker-compose.dev.yml build --no-cache statutory
eslint:
docker:
- image: cimg/node:14.15
- image: cimg/node:14.15.4
steps:
- checkout
- node/install-packages
Expand All @@ -48,18 +50,34 @@ jobs:
path: ~/reports
yamllint:
docker:
- image: cimg/python:3.9.0
- image: cimg/python:3.9.1
steps:
- checkout
- run: pip install yamllint
- run: yamllint -d .yamllint.yml .
shellcheck:
docker:
- image: cimg/base:2021.02
steps:
- checkout
- shellcheck/install
- shellcheck/check
audit:
docker:
- image: cimg/node:14.15.4
steps:
- checkout
- run: npm audit --production
- slack/status:
fail_only: true
failure_message: The audit check for \`$CIRCLE_PROJECT_REPONAME\` has failed.
docker-build-and-push:
docker:
- image: cimg/node:14.15
- image: cimg/node:14.15.4
steps:
- checkout
- setup_remote_docker:
version: 19.03.13
version: 20.10.2
- node/install-packages
- run: npx semantic-release
- run: docker build --tag aegee/statutory:$(node -p "require('./package.json').version") --tag aegee/statutory:latest -f docker/statutory/Dockerfile .
Expand All @@ -72,24 +90,34 @@ jobs:

workflows:
version: 2
test:
jobs:
- test
eslint:
linters:
jobs:
- eslint
yamllint:
jobs:
- yamllint
- shellcheck
- docker/hadolint:
dockerfiles: $(find . -name '*Dockerfile*')
build:
jobs:
- build:
filters:
branches:
ignore: master
test:
jobs:
- test
docker-build-and-push:
jobs:
- docker-build-and-push:
filters:
branches:
only: master
audit:
triggers:
- schedule:
cron: "0 0 * * 5"
filters:
branches:
only: master
jobs:
- audit
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"node": true,
"jest": true
},
"extends": "airbnb",
"extends": "airbnb-base",
"rules": {
"no-underscore-dangle": "off",
"no-param-reassign": ["error", { "props": false }],
Expand Down
1 change: 1 addition & 0 deletions .husky/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit $1
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run lint-staged
2 changes: 0 additions & 2 deletions .yamllint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,3 @@ ignore: |
rules:
document-start: disable
line-length: disable
truthy: disable
comments-indentation: disable
4 changes: 2 additions & 2 deletions config/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const deepAssign = require('deep-assign');
const lodash = require('lodash');

const config = {
default: {
Expand Down Expand Up @@ -70,7 +70,7 @@ let appConfig = config.default || {};

// If we have the environment config, overwrite the config's fields with its fields
if (config[env]) {
appConfig = deepAssign(appConfig, config[env]);
appConfig = lodash.merge(appConfig, config[env]);
}

module.exports = appConfig;
2 changes: 1 addition & 1 deletion docker/docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
context: ./${PATH_STATUTORY}/..
dockerfile: ./docker/statutory/Dockerfile
image: aegee/statutory:dev
command: sh -c "sh /usr/app/scripts/bootstrap.sh && nodemon -e 'js,json' lib/run.js | bunyan"
command: "nodemon -e 'js,json' lib/run.js | bunyan --color"
volumes:
- ./${PATH_STATUTORY}/../config:/usr/app/src/config
- ./${PATH_STATUTORY}/../lib:/usr/app/src/lib
Expand Down
23 changes: 13 additions & 10 deletions docker/statutory/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,28 +1,31 @@
# FIXME use alpine
FROM node:14.16.0

RUN mkdir -p /usr/app/src \
&& mkdir -p /usr/app/media \
&& mkdir -p /usr/app/scripts

RUN apt-get update
RUN apt-get install netcat -y
WORKDIR /usr/app/src

COPY ./docker/statutory/bootstrap.sh /usr/app/scripts/bootstrap.sh
COPY ./docker/statutory/wait.sh /usr/app/scripts/wait.sh
COPY . /usr/app/src
COPY package.json /usr/app/src

RUN chown -R node:node /usr/app

WORKDIR /usr/app/src

USER node

ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH="/home/node/.npm-global/bin:${PATH}"

RUN npm install -g --loglevel warn nodemon bunyan && npm cache clean --force
RUN npm install --loglevel warn
# FIXME remove nodemon for production
RUN npm install -g [email protected]
RUN npm install -g [email protected]
RUN npm cache clean --force
RUN npm install

COPY --chown=node:node ./docker/statutory/bootstrap.sh /usr/app/scripts/bootstrap.sh
COPY --chown=node:node . /usr/app/src
RUN mkdir /usr/app/src/state

CMD sh /usr/app/scripts/bootstrap.sh && nodemon -e "js,json" lib/run.js
CMD ["sh", "-c", "/usr/app/scripts/bootstrap.sh && nodemon -e 'js,json' lib/run.js"]

EXPOSE 8084
10 changes: 0 additions & 10 deletions docker/statutory/wait.sh

This file was deleted.

4 changes: 2 additions & 2 deletions lib/events.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const moment = require('moment');
const deepAssign = require('deep-assign');
const lodash = require('lodash');

const errors = require('./errors');
const constants = require('./constants');
Expand Down Expand Up @@ -166,7 +166,7 @@ exports.listUserAppliedEvents = async (req, res) => {
select: constants.EVENT_PUBLIC_FIELDS
};

const queryObj = deepAssign(defaultQueryObj, {
const queryObj = lodash.merge(defaultQueryObj, {
where: {
'$applications.user_id$': req.user.id
},
Expand Down
Loading

0 comments on commit 27dbd6f

Please sign in to comment.