Skip to content
This repository was archived by the owner on Mar 19, 2021. It is now read-only.

Commit 0545182

Browse files
mmmriesConnorRigby
authored andcommitted
run tests for multiple elixir versions and add dialyzer checks (#84)
* run tests for multiple versions of elixir * add a lint job to check types, formatting, coverage, etc * include dialyxir in test env
1 parent 40e8765 commit 0545182

File tree

2 files changed

+69
-12
lines changed

2 files changed

+69
-12
lines changed

.circleci/config.yml

Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,81 @@
1-
version: 2.0
1+
version: 2.1
2+
3+
default_version: &default_version 1.8.1
4+
25
jobs:
36
build:
7+
parameters:
8+
version:
9+
description: Elixir Version
10+
type: string
11+
default: *default_version
12+
parallelism: 1
413
docker:
5-
- image: circleci/elixir:1.8.1
6-
environment:
7-
MIX_ENV: test
14+
- image: elixir:<< parameters.version >>
15+
working_directory: ~/app
16+
817
steps:
918
- checkout
1019
- restore_cache:
1120
keys:
12-
- v2-dependency-cache-{{ checksum "mix.lock" }}
21+
- build-<<parameters.version>>
1322
- run: mix local.hex --force
1423
- run: mix local.rebar --force
15-
- run: mix deps.get
16-
- run: mix deps.compile
17-
- run: mix compile
24+
- run: mix do deps.get, compile
25+
- save_cache:
26+
key: build-<<parameters.version>>
27+
paths:
28+
- "deps"
29+
- "_build"
30+
- "~/.mix"
31+
- run: mix test
32+
33+
lint:
34+
parameters:
35+
version:
36+
description: Elixir Version
37+
type: string
38+
default: *default_version
39+
parallelism: 1
40+
docker:
41+
- image: elixir:<< parameters.version >>
42+
working_directory: ~/app
43+
steps:
44+
- checkout # check out source code to working directory
45+
- restore_cache:
46+
keys:
47+
- lint-<<parameters.version>>-{{ checksum "mix.lock" }}
48+
- run: mix local.hex --force
49+
- run: mix local.rebar --force
50+
- run: mix do deps.get, compile
51+
- run: mix dialyzer --halt-exit-status
1852
- run: mix credo --strict
1953
- run: mix coveralls.circle
2054
- save_cache:
21-
key: v2-dependency-cache-{{ checksum "mix.lock" }}
55+
key: lint-<<parameters.version>>-{{ checksum "mix.lock" }}
2256
paths:
23-
- _build
24-
- deps
57+
- "deps"
58+
- "_build"
59+
- "~/.mix"
60+
61+
workflows:
62+
version: 2.1
63+
testing_all_versions:
64+
jobs:
65+
- build:
66+
name: "Test Elixir 1.8.1"
67+
version: 1.8.1
68+
- build:
69+
name: "Test Elixir 1.7.4"
70+
version: 1.7.4
71+
- build:
72+
name: "Test Elixir 1.6.6"
73+
version: 1.6.6
74+
- build:
75+
name: "Test Elixir 1.5.3"
76+
version: 1.5.3
77+
- build:
78+
name: "Test Elixir 1.4.5"
79+
version: 1.4.5
80+
- lint:
81+
name: "Check Formatting, Types and Coverage"

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ defmodule Sqlitex.Mixfile do
3636
{:esqlite, "~> 0.4"},
3737
{:decimal, "~> 1.7"},
3838
{:credo, "~> 0.10", only: [:dev, :test]},
39-
{:dialyxir, "~> 1.0.0-rc.4", only: :dev, runtime: false},
39+
{:dialyxir, "~> 1.0.0-rc.4", only: [:dev, :test], runtime: false},
4040
{:excoveralls, "~> 0.10", only: :test},
4141
{:ex_doc, "~> 0.20", only: :docs, runtime: false},
4242
{:excheck, "~> 0.6", only: :test},

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy