This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
augie/.gitlab-ci.yml

106 lines
1.8 KiB
YAML
Raw Normal View History

2019-12-03 10:46:51 +13:00
stages:
- elixir dependencies
- lint
- javascript dependencies
- test
- release
variables:
MIX_HOME: $CI_PROJECT_DIR/.mix
MIX_ENV: test
elixir dependencies:
image: elixir:latest
stage: elixir dependencies
cache:
key: "$CI_JOB_NAME"
paths:
- augie/deps
- augie/_build
- .mix
- /root/.cache
artifacts:
paths:
- augie/deps/
- augie/_build/
- augie/.rebar3/
- .mix
expire_in: 60 mins
before_script:
- mix local.hex --force
- mix local.rebar --force
- cd augie
script:
- mix deps.get
- mix compile
javascript dependencies:
image: node:latest
stage: javascript dependencies
dependencies:
- elixir dependencies
cache:
key: "$CI_JOB_NAME"
paths:
- augie/assets/node_modules
- /root/.yarn-cache
artifacts:
paths:
- augie/assets/node_modules
expire_in: 60 mins
before_script:
- cd augie
script:
- yarn --cwd ./assets install --non-interactive
mix hex.audit:
image: elixir:latest
dependencies:
- elixir dependencies
stage: lint
before_script:
- cd augie
script:
- mix hex.audit
mix credo:
image: elixir:latest
dependencies:
- elixir dependencies
stage: lint
before_script:
- cd augie
script:
- mix credo --strict
mix format --check-formatted:
image: elixir:latest
dependencies:
- elixir dependencies
stage: lint
before_script:
- cd augie
script:
- mix format --check-formatted
mix test:
image: elixir:latest
stage: test
dependencies:
- elixir dependencies
- javascript dependencies
before_script:
- cd augie
script:
- mix test
release:
image: registry.gitlab.com/jimsy/balena-cli-docker
stage: release
only:
- master
before_script:
- balena login --token $BALENA_API_KEY
script:
- balena push $BALENA_APP