Skip to content

Update pipelines to drop 1.11 and support 1.16 #166

Update pipelines to drop 1.11 and support 1.16

Update pipelines to drop 1.11 and support 1.16 #166

Workflow file for this run

name: Elixir CI
on: [push, pull_request]
jobs:
build:
name: Build and test
runs-on: ubuntu-20.04 # ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
include:
- elixir: "1.16"
otp: "24"
- elixir: "1.16"
otp: "25"
- elixir: "1.16"
otp: "26"
should_lint: true
- elixir: "1.15"
otp: "24"
- elixir: "1.15"
otp: "25"
- elixir: "1.15"
otp: "26"
- elixir: "1.14"
otp: "23"
- elixir: "1.14"
otp: "24"
- elixir: "1.14"
otp: "25"
- elixir: "1.13"
otp: "22"
- elixir: "1.13"
otp: "23"
- elixir: "1.13"
otp: "24"
- elixir: "1.13"
otp: "25"
- elixir: "1.12"
otp: "22"
- elixir: "1.12"
otp: "23"
- elixir: "1.12"
otp: "24"
steps:
- uses: actions/checkout@v3
- name: Setup BEAM
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
- name: Restore dependencies cache
uses: actions/cache@v3
with:
path: |
deps
_build
key: ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('**/mix.lock') }}
- name: Install dependencies
run: mix deps.get
- name: Lint
if: matrix.should_lint
run: |
mix format --check-formatted
mix compile --warnings-as-errors
mix dialyzer --format github
- name: Install & run Azurite
run: npm install -g azurite
- name: Run Azurite in Background
shell: bash
run: azurite-blob &
- name: Create integration test containers in Azurex
run: |
mix run -e '
Application.put_env(:azurex, Azurex.Blob.Config, storage_account_connection_string:
"AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1"
)
Azurex.Blob.Container.create(~s{test})
Azurex.Blob.Container.create(~s{integrationtestingcontainer})
Azurex.Blob.put_blob("test_blob", "test_blob_content", "text", "test")
'
- name: Run Tests
run: mix test --include integration