106 lines
1.8 KiB
YAML
106 lines
1.8 KiB
YAML
|
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
|