diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..0ef8c69 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + time: '12:00' + open-pull-requests-limit: 10 + labels: + - task + - dependencies diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3243824 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,63 @@ +name: CI + +on: + pull_request: + push: + branches: [ "main" ] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + strategy: + matrix: + otp_version: ['27.0', '26.2', '25.3'] + + steps: + - uses: actions/checkout@v4 + + - uses: erlef/setup-beam@v1 + with: + otp-version: ${{ matrix.otp_version }} + version-type: 'strict' + + - uses: actions/cache@v4 + with: + path: | + ~/.cache/rebar3 + _build + key: ${{ runner.os }}-erlang-${{ matrix.otp_version }}-${{ hashFiles('**/*rebar.lock') }} + + - run: make build + + test: + name: Test + runs-on: ubuntu-latest + strategy: + matrix: + otp_version: ['27.0', '26.2', '25.3'] + + needs: + - build + + steps: + - uses: actions/checkout@v4 + + - uses: erlef/setup-beam@v1 + with: + otp-version: ${{ matrix.otp_version }} + version-type: 'strict' + + - uses: actions/cache@v4 + with: + path: | + ~/.cache/rebar3 + _build + key: ${{ runner.os }}-erlang-${{ matrix.otp_version }}-${{ hashFiles('**/*rebar.lock') }} + + - run: make test diff --git a/Makefile b/Makefile index 10d428c..b3bec85 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ all: deps compile $(REBAR): wget $(REBAR_URL) && chmod +x rebar3 +build: compile + compile: $(REBAR) @$(REBAR) compile @@ -23,4 +25,5 @@ fresh: rm -fr _build/* test: $(REBAR) all + @$(REBAR) dialyzer @$(REBAR) eunit skip_deps=true diff --git a/README.md b/README.md index 49d9580..10b39df 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -#base32 +# base32_erlang + +![CI](https://github.com/dnsimple/base32_erlang/actions/workflows/ci.yml/badge.svg) **License: Apache 2** diff --git a/rebar.config b/rebar.config index d52e9dc..8dd8506 100644 --- a/rebar.config +++ b/rebar.config @@ -13,3 +13,7 @@ write, {print_width, 140} ]}. + +{dialyzer, [ + {warnings, [no_unknown]} +]}.