Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
M
MatrixAppService.ex
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 2
    • Merge requests 2
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Kazarma
  • MatrixAppService.ex
  • Issues
  • #8

Closed
Open
Created Oct 26, 2020 by Maxime Grimbert@maxime_grimbertDeveloper6 of 6 tasks completed6/6 tasks

Improve CI

  • Add credo (dev dependencies in Mix config + new job
  • Add dyalizer job
  • Add cache (for dependencies, build artefacts)
  • Sequentialize jobs to use cache (maybe use depends:, should we use stage: when using depends:?)
    • dev sequence: dyalizer -> pages
    • test sequence: test -> format -> credo

As an example, here's a .gitlab-ci.yml from another Elixir project:

credo:
  image: $CONTAINER_BUILD_IMAGE
  stage: static_analysis
  cache:
    key: "$CI_JOB_NAME"
    paths:
      - deps
      - _build
      - .rebar3
  variables:
    MIX_ENV: test
  before_script:
    - mix local.hex --force
    - mix local.rebar --force
  script:
    - mix deps.get --only test
    - mix credo --strict

test:
  image: $CONTAINER_BUILD_IMAGE
  services:
    - postgres
  stage: test
  cache:
    key: "$CI_JOB_NAME"
    paths:
      - deps
      - _build
      - .rebar3
      - assets/node_modules
  variables:
    MIX_ENV: test
  before_script:
    - mix local.hex --force
    - mix local.rebar --force
  script:
    - mix deps.get --only test
    - mix compile
    - npm install --prefix ./assets
    - mix ecto.setup
    - mix test
Edited Oct 27, 2020 by Hadrien
Assignee
Assign to
Milestone 2
Milestone
Milestone 2 (Past due)
Assign milestone
Time tracking