From 3fc39cf8c29bf7641ba56116c68850ae6a7a21fe Mon Sep 17 00:00:00 2001 From: Niko Weh Date: Sun, 28 Jan 2024 17:52:30 -0500 Subject: [PATCH] Bump minimum elixir version to 1.12, bump deps versions, add analysis to Actions 1.11 no longer receives security patches, so I guess nobody should be running this anyway :) There is some weirdness with Dialyzer on Elixir 15, so i'm only running it on 12 for now. --- .../workflows/{elixir-7.yml => elixir-12.yml} | 16 ++++++++++++---- .github/workflows/elixir-15.yml | 6 ++++++ README.md | 8 ++++---- mix.exs | 6 +++--- mix.lock | 7 ++++--- 5 files changed, 29 insertions(+), 14 deletions(-) rename .github/workflows/{elixir-7.yml => elixir-12.yml} (66%) diff --git a/.github/workflows/elixir-7.yml b/.github/workflows/elixir-12.yml similarity index 66% rename from .github/workflows/elixir-7.yml rename to .github/workflows/elixir-12.yml index 846a977..ac7c10f 100644 --- a/.github/workflows/elixir-7.yml +++ b/.github/workflows/elixir-12.yml @@ -3,7 +3,7 @@ # separate terms of service, privacy policy, and support # documentation. -name: Elixir 1.7 CI +name: Elixir 1.12 CI on: push: @@ -18,15 +18,17 @@ jobs: build: name: Build and test - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 + with: + fetch-depth: 0 - name: Set up Elixir uses: erlef/setup-beam@61e01a43a562a89bfc54c7f9a378ff67b03e4a21 # v1.16.0 with: - elixir-version: '1.7.4' # [Required] Define the Elixir version - otp-version: '19.x' # [Required] Define the Erlang/OTP version + elixir-version: '1.12.3' # [Required] Define the Elixir version + otp-version: '22.x' # [Required] Define the Erlang/OTP version - name: Restore dependencies cache uses: actions/cache@v3 with: @@ -37,3 +39,9 @@ jobs: run: mix deps.get - name: Run tests run: mix test + - name: Build example.exs + run: mix run example.exs + - name: Run credo + run: mix credo diff --from-git-merge-base origin/master + - name: Run Dialyzer + run: mix dialyzer diff --git a/.github/workflows/elixir-15.yml b/.github/workflows/elixir-15.yml index 589f76e..ec0eef6 100644 --- a/.github/workflows/elixir-15.yml +++ b/.github/workflows/elixir-15.yml @@ -22,6 +22,8 @@ jobs: steps: - uses: actions/checkout@v3 + with: + fetch-depth: 0 - name: Set up Elixir uses: erlef/setup-beam@61e01a43a562a89bfc54c7f9a378ff67b03e4a21 # v1.16.0 with: @@ -37,3 +39,7 @@ jobs: run: mix deps.get - name: Run tests run: mix test + - name: Build example.exs + run: mix run example.exs + - name: Run credo + run: mix credo diff --from-git-merge-base origin/master diff --git a/README.md b/README.md index 923f23e..2278fa9 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,16 @@ Features: - Font and cell background color, borders - Merged cells -## Installation +## Installation -### Elixir 1.7 and above +As of version 0.6, elixlsx requires Elixir 1.12 or above. -Via Hex, in `mix.exs`: +Installation via Hex, in `mix.exs`: ```elixir defp deps do - [{:elixlsx, "~> 0.5.1"}] + [{:elixlsx, "~> 0.6.0"}] end ``` diff --git a/mix.exs b/mix.exs index 1e2d0e8..ed90d37 100644 --- a/mix.exs +++ b/mix.exs @@ -8,7 +8,7 @@ defmodule Elixlsx.Mixfile do [ app: :elixlsx, version: @version, - elixir: "~> 1.7", + elixir: "~> 1.12", package: package(), description: "Elixlsx is a writer for the MS Excel OpenXML format (`.xlsx`).", build_embedded: Mix.env() == :prod, @@ -24,10 +24,10 @@ defmodule Elixlsx.Mixfile do defp deps do [ - {:credo, "~> 0.5", only: [:dev, :test]}, + {:credo, "~> 1.6", only: [:dev, :test]}, {:propcheck, "~> 1.4", only: [:dev, :test]}, {:ex_doc, ">= 0.0.0", only: [:dev], runtime: false}, - {:dialyxir, "~> 0.5", only: [:dev], runtime: false}, + {:dialyxir, "~> 1.0", only: [:dev], runtime: false}, ] end diff --git a/mix.lock b/mix.lock index 56e68d7..8dd2ebb 100644 --- a/mix.lock +++ b/mix.lock @@ -1,9 +1,10 @@ %{ - "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, - "credo": {:hex, :credo, "0.10.2", "03ad3a1eff79a16664ed42fc2975b5e5d0ce243d69318060c626c34720a49512", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "539596b6774069260d5938aa73042a2f5157e1c0215aa35f5a53d83889546d14"}, - "dialyxir": {:hex, :dialyxir, "0.5.1", "b331b091720fd93e878137add264bac4f644e1ddae07a70bf7062c7862c4b952", [:mix], [], "hexpm", "6c32a70ed5d452c6650916555b1f96c79af5fc4bf286997f8b15f213de786f73"}, + "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, + "credo": {:hex, :credo, "1.7.3", "05bb11eaf2f2b8db370ecaa6a6bda2ec49b2acd5e0418bc106b73b07128c0436", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "35ea675a094c934c22fb1dca3696f3c31f2728ae6ef5a53b5d648c11180a4535"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, "earmark": {:hex, :earmark, "1.3.1", "73812f447f7a42358d3ba79283cfa3075a7580a3a2ed457616d6517ac3738cb9", [:mix], [], "hexpm", "000aaeff08919e95e7aea13e4af7b2b9734577b3e6a7c50ee31ee88cab6ec4fb"}, "earmark_parser": {:hex, :earmark_parser, "1.4.12", "b245e875ec0a311a342320da0551da407d9d2b65d98f7a9597ae078615af3449", [:mix], [], "hexpm", "711e2cc4d64abb7d566d43f54b78f7dc129308a63bc103fbd88550d2174b3160"}, + "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.23.0", "a069bc9b0bf8efe323ecde8c0d62afc13d308b1fa3d228b65bca5cf8703a529d", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm", "f5e2c4702468b2fd11b10d39416ddadd2fcdd173ba2a0285ebd92c39827a5a16"}, "excheck": {:hex, :excheck, "0.6.0", "f8595a8ac2c0abc0d060c1a4fce7d26f41574543366a52d5f3c84de30a69747b", [:mix], [], "hexpm", "50a94eb60e79c886be425af6b6f09c8055556ff8ad00e474dba72172574b8d28"}, "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"},