From ff07d0d7351cfaa990875349e8d8456a41345645 Mon Sep 17 00:00:00 2001 From: Frank Hunleth Date: Tue, 15 Jan 2019 19:39:40 -0500 Subject: [PATCH] Bump required version of Elixir to 1.6; update CI --- .circleci/config.yml | 89 ++++++++++++++++++++++++++++++++++++++++---- mix.exs | 2 +- 2 files changed, 82 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 84b2ed1..3820fdb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,16 +1,89 @@ -# Elixir CircleCI 2.0 configuration file -# -# Check https://circleci.com/docs/2.0/language-elixir/ for more details +install_elixir: &install_elixir + run: + name: Install Elixir + command: | + wget https://repo.hex.pm/builds/elixir/v$ELIXIR_VERSION.zip + unzip -d /usr/local/elixir v$ELIXIR_VERSION.zip + echo 'export PATH=/usr/local/elixir/bin:$PATH' >> $BASH_ENV + +install_hex_rebar: &install_hex_rebar + run: + name: Install hex and rebar + command: | + mix local.hex --force + mix local.rebar --force + +install_system_deps: &install_system_deps + run: + name: Install system dependencies + command: | + apt update + apt install -y unzip astyle libmnl-dev + +defaults: &defaults + working_directory: ~/repo + version: 2 + jobs: - build: + build_elixir_1_7_otp_21: docker: - - image: circleci/elixir:1.5.2 - working_directory: ~/repo + - image: erlang:21.2 + environment: + ELIXIR_VERSION: 1.7.4-otp-21 + LC_ALL: C.UTF-8 + SUDO: true + <<: *defaults steps: - checkout - - run: mix local.hex --force && mix local.rebar --force - - run: mix deps.get --only test + - <<: *install_system_deps + - <<: *install_elixir + - <<: *install_hex_rebar + - run: mix deps.get - run: mix format --check-formatted - run: mix hex.build - run: mix test + - run: mix docs + + build_elixir_1_6_otp_21: + docker: + - image: erlang:21.1 + environment: + ELIXIR_VERSION: 1.6.6-otp-21 + LC_ALL: C.UTF-8 + SUDO: true + <<: *defaults + steps: + - checkout + - <<: *install_system_deps + - <<: *install_elixir + - <<: *install_hex_rebar + - run: mix deps.get + - run: mix test + + build_elixir_1_6_otp_20: + docker: + - image: erlang:20.3.8 + environment: + ELIXIR_VERSION: 1.6.6 + LC_ALL: C.UTF-8 + SUDO: true + <<: *defaults + steps: + - checkout + - <<: *install_system_deps + - <<: *install_elixir + - <<: *install_hex_rebar + - run: mix deps.get + - run: mix test + +workflows: + version: 2 + build_test: + jobs: + - build_elixir_1_7_otp_21: + context: org-global + - build_elixir_1_6_otp_21: + context: org-global + - build_elixir_1_6_otp_20: + context: org-global diff --git a/mix.exs b/mix.exs index 6bce11d..22d7b79 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule SystemRegistry.Mixfile do [ app: :system_registry, version: "0.8.1", - elixir: "~> 1.5", + elixir: "~> 1.6", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), description: description(),