name: Elixir CI on: push: workflow_dispatch: permissions: contents: read jobs: build: name: Build and test runs-on: ubuntu-latest services: postgres: image: postgres env: POSTGRES_USER: isn POSTGRES_PASSWORD: secret ports: - 5432:5432 steps: - uses: actions/checkout@v3 - name: Set up Elixir uses: erlef/setup-beam@61e01a43a562a89bfc54c7f9a378ff67b03e4a21 with: elixir-version: '1.15.2' # Define the elixir version [required] otp-version: '26.0.2' # Define the OTP version [required] - name: Restore dependencies cache uses: actions/cache@v3 with: path: deps key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} restore-keys: ${{ runner.os }}-mix- - name: Install dependencies run: mix deps.get - name: Run tests run: mix test env: POSTGRES_USER: isn POSTGRES_PASSWORD: secret