Skip to content

Merge branch 'release/v8.2.8' #161

Merge branch 'release/v8.2.8'

Merge branch 'release/v8.2.8' #161

Workflow file for this run

name: 'CI'
on:
push:
branches:
- develop
- feature/**
jobs:
deps:
name: Dependencies
runs-on: ubuntu-latest
container:
image: alpine:3.18
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install OS Deps
run: |
apk update && apk add --update git sudo tar build-base libsodium-dev \
elixir erlang-dialyzer
- name: Retrieve Cached Dependencies
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
priv/plts
key: ${{ runner.os }}-pakman-${{ hashFiles('mix.lock') }}
- name: Install Dependencies
if: steps.mix-cache.outputs.cache-hit != 'true'
run: |
mkdir -p priv/plts
mix local.rebar --force
mix local.hex --force
mix deps.get
mix deps.compile
mix dialyzer --plt
static_code_analysis:
name: Static Code Analysis
needs: deps
runs-on: ubuntu-latest
container:
image: alpine:3.18
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Dependencies
run: |
apk update && apk add --update git sudo tar build-base libsodium-dev \
elixir erlang-dialyzer
mix local.rebar --force
mix local.hex --force
- name: Retrieve Cached Dependencies
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
priv/plts
key: ${{ runner.os }}-pakman-${{ hashFiles('mix.lock') }}
- name: Check Code Format
run: mix format --check-formatted
- name: Run Dialyzer
run: mix dialyzer --no-check --halt-exit-status
test:
name: Unit Tests
needs: deps
runs-on: ubuntu-latest
container:
image: alpine:3.18
services:
minio:
image: minio/minio:edge-cicd
ports:
- 9000:9000
env:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
options: --name=minio --health-cmd "curl http://localhost:9000/minio/health/live"
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Dependencies
run: |
apk update && apk add --update git sudo tar build-base libsodium-dev \
elixir erlang-dialyzer
mix local.rebar --force
mix local.hex --force
- name: Retrieve Cached Dependencies
uses: actions/cache@v4
id: mix-cache
with:
path: |
deps
_build
priv/plts
key: ${{ runner.os }}-pakman-${{ hashFiles('mix.lock') }}
- name: Run Tests
run: mix test --trace --slowest 10
env:
MINIO_HOST: minio