From c23a3bd92cee7747a1041a7833036cf768063b21 Mon Sep 17 00:00:00 2001 From: Aleksei Magusev Date: Fri, 1 Dec 2023 03:09:47 -0800 Subject: [PATCH 1/4] Move CI to GitHub Actions --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 28 -------------------------- README.md | 2 +- 3 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..78fdccd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + +jobs: + test: + name: Test suite + runs-on: ubuntu-20.04 + + strategy: + matrix: + otp: ["24"] + elixir: ["1.14"] + runtime_config: [true, false] + + include: + - otp: "20" + elixir: "1.6" + runtime_config: false + + env: + MIX_ENV: test + + steps: + - uses: actions/checkout@v3 + + - name: Set up Elixir environment + uses: erlef/setup-beam@v1 + with: + elixir-version: ${{ matrix.elixir }} + otp-version: ${{ matrix.otp }} + + - name: Install dependencies + run: mix deps.get --only test + + - name: Run tests + run: mix test + env: + STATIX_TEST_RUNTIME_CONFIG: ${{ matrix.runtime_config }} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5fdc741..0000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: elixir - -branches: - only: - - master - -jobs: - include: - - stage: check formatted - script: mix format --check-formatted - otp_release: 20.3 - elixir: 1.7 - - stage: test - script: mix test - otp_release: 18.3 - elixir: 1.3 - - otp_release: 19.3 - elixir: 1.4 - - otp_release: 20.3 - elixir: 1.5 - - otp_release: 20.3 - elixir: 1.6 - env: STATIX_TEST_RUNTIME_CONFIG=false - - otp_release: 20.3 - elixir: 1.6 - env: STATIX_TEST_RUNTIME_CONFIG=true - - otp_release: 21.0 - elixir: 1.7 diff --git a/README.md b/README.md index fbdf345..5d551c6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Statix -[![Build Status](https://travis-ci.com/lexmag/statix.svg?branch=master)](https://travis-ci.com/lexmag/statix) +[![CI Status](https://github.com/lexmag/statix/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/lexmag/statix/actions/workflows/ci.yml) [![Hex Version](https://img.shields.io/hexpm/v/statix.svg "Hex Version")](https://hex.pm/packages/statix) Statix is an Elixir client for StatsD-compatible servers. From 3e7e3f59b5add1de3af5623fbec88b882a38bea6 Mon Sep 17 00:00:00 2001 From: Aleksei Magusev Date: Sun, 3 Dec 2023 03:55:52 -0800 Subject: [PATCH 2/4] Drop support for OTP versions before 19 --- lib/statix/packet.ex | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/statix/packet.ex b/lib/statix/packet.ex index fd84ccf..2facf96 100644 --- a/lib/statix/packet.ex +++ b/lib/statix/packet.ex @@ -3,9 +3,6 @@ defmodule Statix.Packet do use Bitwise - otp_release = :erlang.system_info(:otp_release) - @addr_family if(otp_release >= '19', do: [1], else: []) - def header({n1, n2, n3, n4}, port) do true = Code.ensure_loaded?(:gen_udp) @@ -16,15 +13,15 @@ defmodule Statix.Packet do [] end - @addr_family ++ - [ - band(bsr(port, 8), 0xFF), - band(port, 0xFF), - band(n1, 0xFF), - band(n2, 0xFF), - band(n3, 0xFF), - band(n4, 0xFF) - ] ++ anc_data_part + [ + _addr_family = 1, + band(bsr(port, 8), 0xFF), + band(port, 0xFF), + band(n1, 0xFF), + band(n2, 0xFF), + band(n3, 0xFF), + band(n4, 0xFF) + ] ++ anc_data_part end def build(header, name, key, val, options) do From 78d7089042c222316172e1c80f727d64f1913d63 Mon Sep 17 00:00:00 2001 From: Aleksei Magusev Date: Mon, 4 Dec 2023 19:43:00 -0800 Subject: [PATCH 3/4] Fix deprecation warning from Bitwise --- lib/statix/packet.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/statix/packet.ex b/lib/statix/packet.ex index 2facf96..c2cdd6d 100644 --- a/lib/statix/packet.ex +++ b/lib/statix/packet.ex @@ -1,7 +1,7 @@ defmodule Statix.Packet do @moduledoc false - use Bitwise + import Bitwise def header({n1, n2, n3, n4}, port) do true = Code.ensure_loaded?(:gen_udp) From cc3f93b73a24c585e5a8a55c987c8b845da40270 Mon Sep 17 00:00:00 2001 From: Aleksei Magusev Date: Mon, 4 Dec 2023 19:43:47 -0800 Subject: [PATCH 4/4] Use shared GitHub Actions workflow for linting --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78fdccd..c985db9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,13 @@ on: pull_request: jobs: + lint: + name: Code linting + uses: lexmag/elixir-actions/.github/workflows/lint.yml@v2 + with: + otp-version: "24" + elixir-version: "1.14" + test: name: Test suite runs-on: ubuntu-20.04