Skip to content

Claude/verify all tests yv xdw #5

Claude/verify all tests yv xdw

Claude/verify all tests yv xdw #5

Workflow file for this run

name: CI
on:
push:
branches: ['*']
tags: ['v*']
pull_request:
branches: [main]
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
matrix:
otp: ['25', '26', '27']
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp }}
rebar3-version: '3.24'
- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: _build
key: ${{ runner.os }}-otp-${{ matrix.otp }}-build-${{ hashFiles('rebar.config') }}
restore-keys: ${{ runner.os }}-otp-${{ matrix.otp }}-build-
- name: Compile
run: rebar3 compile
- name: Run tests
run: rebar3 ct
- name: Run dialyzer
run: rebar3 dialyzer
- name: Run xref
run: rebar3 xref
publish:
name: Publish to Hex.pm
needs: test
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: '27'
rebar3-version: '3.24'
- name: Restore dependencies cache
uses: actions/cache@v4
with:
path: _build
key: ${{ runner.os }}-otp-27-build-${{ hashFiles('rebar.config') }}
restore-keys: ${{ runner.os }}-otp-27-build-
- name: Publish to Hex.pm
run: rebar3 hex publish --yes
env:
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}
- name: Generate docs
run: rebar3 ex_doc
- name: Publish docs
run: rebar3 hex docs publish --yes
env:
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}