Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare code for Elixir 1.18 #15

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/build_elixir_latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# ' ' suffix for the badge status
name: "Build 1.18/26 "

on:
push:
branches:
- '*'
pull_request:
branches:
- '*'

jobs:
elixir_otp_latest:
uses: ./.github/workflows/build_reusable.yml
with:
elixir-version: 1.18
otp-version: 26
17 changes: 17 additions & 0 deletions .github/workflows/build_elixir_old.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# ' ' suffix for the badge status
name: "Build 1.13/24 "

on:
push:
branches:
- '*'
pull_request:
branches:
- '*'

jobs:
elixir_otp_latest:
uses: ./.github/workflows/build_reusable.yml
with:
elixir-version: 1.13
otp-version: 24
17 changes: 17 additions & 0 deletions .github/workflows/build_elixir_recent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# ' ' suffix for the badge status
name: "Build 1.16/25 "

on:
push:
branches:
- '*'
pull_request:
branches:
- '*'

jobs:
elixir_otp_latest:
uses: ./.github/workflows/build_reusable.yml
with:
elixir-version: 1.16
otp-version: 25
30 changes: 30 additions & 0 deletions .github/workflows/build_reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build CI Reusable

on:
workflow_call:
inputs:
elixir-version:
required: true
type: string
otp-version:
required: true
type: string

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ inputs.elixir-version }}
otp-version: ${{ inputs.otp-version }}

- name: Install dependencies
run: mix deps.get

- name: Run compilation with warnings as errors
run: mix compile --warnings-as-errors
8 changes: 5 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
os: ["ubuntu-20.04"]
elixir: ["1.15"]
elixir: ["1.15", "1.18"]
otp: ["26"]
steps:
- uses: actions/checkout@v3
Expand All @@ -41,11 +41,13 @@ jobs:
fail-fast: false
matrix:
os: ["ubuntu-20.04"]
elixir: ["1.15", "1.14", "1.13"]
elixir: ["1.18", "1.16", "1.15", "1.14", "1.13"]
Copy link
Collaborator

@warmwaffles warmwaffles Jan 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can drop 1.13, it was marked end of life https://endoflife.date/elixir

Edit: Same thing with OTP 24 https://endoflife.date/erlang

otp: ["26", "25", "24"]
exclude:
- elixir: "1.13"
otp: "26"
- elixir: "1.18"
otp: "24"
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
Expand All @@ -59,5 +61,5 @@ jobs:
restore-keys: ${{ matrix.os }}-otp_${{ matrix.otp }}-elixir_${{ matrix.elixir }}-mix_
- run: mix deps.get --only test
- run: mix deps.compile
- run: mix compile
- run: mix compile --warnings-as-errors
- run: mix test
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

# ExImageInfo

[![Elixir](https://img.shields.io/badge/made_in-elixir-9900cc.svg?style=flat-square)](http://elixir-lang.org) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://raw.githubusercontent.com/Group4Layers/ex_image_info/master/LICENSE.md) <a class="no-underline" href="https://github.com/Group4Layers/ex_image_info"><img src="https://img.shields.io/badge/coverage-98.4%25-green.svg" alt="Coverage"></a> <a class="no-underline" href="https://github.com/Group4Layers/ex_image_info"><img src="https://img.shields.io/badge/tests-54%2F54-green.svg" alt="Tests"></a>
[![Elixir](https://img.shields.io/badge/made_in-elixir-9900cc.svg?style=flat-square)](http://elixir-lang.org) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://raw.githubusercontent.com/Group4Layers/ex_image_info/master/LICENSE.md) <a class="no-underline" href="https://github.com/Group4Layers/ex_image_info"><img src="https://img.shields.io/badge/coverage-98.4%25-green.svg" alt="Coverage"></a> <a class="no-underline" href="https://github.com/Group4Layers/ex_image_info"><img src="https://img.shields.io/badge/tests-58%2F58-green.svg" alt="Tests"></a>

ExImageInfo is an Elixir library to parse images (binaries) and get the dimensions (size), detected mime-type and overall validity for a set of image formats. It is the fastest and supports multiple formats.

Online tools: [![Build Status](https://travis-ci.org/Group4Layers/ex_image_info.svg?branch=master)](https://travis-ci.org/Group4Layers/ex_image_info) [![Coverage Status](https://coveralls.io/repos/github/Group4Layers/ex_image_info/badge.svg?branch=master)](https://coveralls.io/github/Group4Layers/ex_image_info?branch=master) [![SourceLevel](https://app.sourcelevel.io/github/Group4Layers/-/ex_image_info.svg)](https://app.sourcelevel.io/github/Group4Layers/-/ex_image_info) [![Inline docs](http://inch-ci.org/github/Group4Layers/ex_image_info.svg)](http://inch-ci.org/github/Group4Layers/ex_image_info)
Status: [![Elixir 1.18 / OTP 26](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_latest.yml/badge.svg)](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_latest.yml) [![Elixir 1.16 / OTP 25](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_recent.yml/badge.svg)](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_recent.yml) [![Elixir 1.13 / OTP 24](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_old.yml/badge.svg)](https://github.com/Group4Layers/ex_image_info/actions/workflows/build_elixir_old.yml) [![Coverage Status](https://coveralls.io/repos/github/Group4Layers/ex_image_info/badge.svg?branch=master)](https://coveralls.io/github/Group4Layers/ex_image_info?branch=master) [![Inline docs](http://inch-ci.org/github/Group4Layers/ex_image_info.svg)](http://inch-ci.org/github/Group4Layers/ex_image_info)

### [GitHub repo](https://github.com/Group4Layers/ex_image_info) &nbsp;&nbsp; [Docs](https://group4layers.github.io/ex_image_info) &nbsp;&nbsp; [Hex.pm package](https://hex.pm/packages/ex_image_info)

Expand Down
39 changes: 26 additions & 13 deletions docs/.build
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
dist/app-240d7fc7e5.css
dist/app-a0c90688fa.js
fonts/icomoon.eot
fonts/icomoon.svg
fonts/icomoon.ttf
fonts/icomoon.woff
assets/ex_image_info_benchmarks.png
dist/sidebar_items-d2ff24ea4e.js
404.html
ExImageInfo.html
api-reference.html
readme.html
license.html
assets
assets/ex_image_info_benchmarks.png
changelog.html
contributors.html
search.html
404.html
ExImageInfo.html
dist/handlebars.runtime-NWIB6V2M.js
dist/handlebars.templates-K7URE6B4.js
dist/html-HJ5ACJPS.js
dist/html-elixir-QYVRUQZX.css
dist/inconsolata-latin-400-normal-RGKDDNDD.woff2
dist/inconsolata-latin-700-normal-DTS2D7TO.woff2
dist/inconsolata-latin-ext-400-normal-K7HVGTP7.woff2
dist/inconsolata-latin-ext-700-normal-4MPBLFZC.woff2
dist/inconsolata-vietnamese-400-normal-IGQPHHJH.woff2
dist/inconsolata-vietnamese-700-normal-LHEGSN35.woff2
dist/lato-latin-300-normal-YUMVEFOL.woff2
dist/lato-latin-400-normal-W7754I4D.woff2
dist/lato-latin-700-normal-2XVSBPG4.woff2
dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
dist/lato-latin-ext-400-normal-N27NCBWW.woff2
dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
dist/remixicon-NKANDIL5.woff2
dist/search_data-1B142127.js
dist/sidebar_items-A9682721.js
index.html
license.html
readme.html
search.html
192 changes: 133 additions & 59 deletions docs/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,82 +4,156 @@
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.19.1">
<title>404 – ExImageInfo v0.2.4</title>
<link rel="stylesheet" href="dist/app-240d7fc7e5.css" />
<script src="dist/sidebar_items-d2ff24ea4e.js"></script>

<meta name="generator" content="ExDoc v0.36.1">
<meta name="project" content="ExImageInfo v0.2.6">


<meta name="robots" content="noindex">

<title>404 — ExImageInfo v0.2.6</title>
<link rel="stylesheet" href="dist/html-elixir-QYVRUQZX.css" />

<script src="dist/handlebars.runtime-NWIB6V2M.js"></script>
<script src="dist/handlebars.templates-K7URE6B4.js"></script>
<script src="dist/sidebar_items-A9682721.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/html-HJ5ACJPS.js"></script>

</head>
<body data-type="extras">
<script>try { if(localStorage.getItem('night-mode')) document.body.className += ' night-mode'; } catch (e) { }</script>
<div class="main">
<button class="sidebar-button sidebar-toggle">
<span class="icon-menu" aria-hidden="true"></span>
<span class="sr-only">Toggle Sidebar</span>
</button>
<button class="sidebar-button night-mode-toggle">
<span class="icon-theme" aria-hidden="true"></span>
<span class="sr-only">Toggle Theme</span>
<body class="sidebar-closed">
<script>

try {
var settings = JSON.parse(localStorage.getItem('ex_doc:settings') || '{}');

if (settings.theme === 'dark' ||
((settings.theme === 'system' || settings.theme == null) &&
window.matchMedia('(prefers-color-scheme: dark)').matches)
) {
document.body.classList.add('dark')
}
} catch (error) { }
</script>

<div class="body-wrapper">

<button id="sidebar-menu" class="sidebar-button sidebar-toggle" aria-label="toggle sidebar" aria-controls="sidebar">
<i class="ri-menu-line ri-lg" title="Collapse/expand sidebar"></i>
</button>
<section class="sidebar">

<a href="https://www.group4layers.com" class="sidebar-projectLink">
<div class="sidebar-projectDetails">
<h1 class="sidebar-projectName">
ExImageInfo </h1>
<h2 class="sidebar-projectVersion">
v0.2.4
</h2>

<nav id="sidebar" class="sidebar">

<div class="sidebar-header">
<div class="sidebar-projectInfo">

<div>
<a href="https://www.group4layers.com" class="sidebar-projectName" translate="no">
ExImageInfo
</a>
<div class="sidebar-projectVersion" translate="no">
v0.2.6
</div>
</div>
</div>
</a>
<ul id="sidebar-list-nav" class="sidebar-list-nav" role="tablist">
<li>
<button id="extras-list-tab-button" role="tab" data-type="extras" aria-controls="extras-tab-panel" aria-selected="true" tabindex="0">
Pages
</button>
</li>

<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button">
<span class="icon-search" aria-hidden="true"></span>
</button>
<input name="q" type="text" id="search-list" class="search-input" placeholder="Search" aria-label="Search" autocomplete="off" />
</form>
<li>
<button id="modules-list-tab-button" role="tab" data-type="modules" aria-controls="modules-tab-panel" aria-selected="false" tabindex="-1">
Modules
</button>
</li>

<ul class="sidebar-listNav">
<li><a id="extras-list" href="#full-list">Pages</a></li>

<li><a id="modules-list" href="#full-list">Modules</a></li>
</ul>
</div>

<div id="extras-tab-panel" class="sidebar-tabpanel" role="tabpanel" aria-labelledby="extras-list-tab-button">
<ul id="extras-full-list" class="full-list"></ul>
</div>

</ul>
<div class="gradient"></div>
<ul id="full-list" class="sidebar-fullList"></ul>
</section>
<div id="modules-tab-panel" class="sidebar-tabpanel" role="tabpanel" aria-labelledby="modules-list-tab-button" hidden>
<ul id="modules-full-list" class="full-list"></ul>
</div>

<section class="content">
<div class="content-outer">
<div id="content" class="content-inner">

</nav>

<h2>Page not found</h2>
<output role="status" id="toast"></output>

<main class="content page-extra" id="main" data-type="extras">
<div id="content" class="content-inner">
<div class="top-search">
<div class="search-settings">
<form class="search-bar" action="search.html">
<label class="search-label">
<span class="sr-only">Search documentation of ExImageInfo</span>
<input name="q" type="text" class="search-input" placeholder="Press / to search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
</label>
<button type="submit" class="search-button" aria-label="Submit Search" tabindex="-1">
<i class="ri-search-2-line ri-lg" aria-hidden="true"></i>
</button>
<button type="button" tabindex="-1" class="search-close-button" aria-hidden="true">
<i class="ri-close-line ri-lg" title="Cancel search"></i>
</button>
</form>
<div class="autocomplete">
</div>
<button class="icon-settings display-settings">
<i class="ri-settings-3-line"></i>
<span class="sr-only">Settings</span>
</button>
</div>
</div>

<h1>
<span>Page not found</span>
</h1>

<p>Sorry, but the page you were trying to get to, does not exist. You
may want to try searching this site using the sidebar or using our
<a href="api-reference.html" title="API Reference">API Reference</a> page to find what
you were looking for.</p>
may want to try searching this site using the sidebar

or using our <a href="api-reference.html">API Reference</a> page

to find what you were looking for.</p>
<footer class="footer">
<p>

<footer class="footer">
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.19.1),
<a href="https://hex.pm/packages/ex_image_info/0.2.6" class="footer-hex-package">Hex Package</a>

<a href="https://preview.hex.pm/preview/ex_image_info/0.2.6">Hex Preview</a>

</span>
<span class="line">
designed by
<a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
</span>
</p>
</footer>
</div>

<span class="line">
<button class="a-main footer-button display-quick-switch" title="Search HexDocs packages">
Search HexDocs
</button>

<a href="ExImageInfo.epub" title="ePub version">
Download ePub version
</a>

</span>
</p>

<p class="built-using">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener" translate="no">ExDoc</a> (v0.36.1) for the

<a href="https://elixir-lang.org" title="Elixir" target="_blank" translate="no">Elixir programming language</a>

</p>

</footer>
</div>
</section>
</main>
</div>
<script src="dist/app-a0c90688fa.js"></script>


</body>
</html>
Loading
Loading