Update car req2 #13
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Elixir CI | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
merge_group: | |
types: [checks_requested] | |
permissions: | |
contents: read | |
jobs: | |
build: | |
services: | |
postgres: | |
image: postgres:12 | |
ports: ['5432:5432'] | |
env: | |
POSTGRES_HOST_AUTH_METHOD: trust | |
POSTGRES_PASSWORD: "" | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 10s --health-retries 5 | |
# opensearch: | |
# image: opensearchproject/opensearch:2.15.0 | |
# ports: ['9200:9200'] | |
# env: | |
# OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m" | |
# DISABLE_SECURITY_PLUGIN: true | |
# DISABLE_SECURITY_DASHBOARDS_PLUGIN: true | |
# DISABLE_INSTALL_DEMO_CONFIG: true | |
# discovery.type: single-node | |
# bootstrap.memory_lock: true # along with the memlock settings below, disables swapping | |
# options: --health-cmd "curl --verbose --show-error http://localhost:9200" --health-interval 10s --health-timeout 10s --health-retries 5 | |
name: Build and test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Runs OpenSearch | |
uses: esmarkowski/opensearch-github-action@v1.0.0 | |
with: | |
version: 2.15.0 | |
security-disabled: true | |
- name: Set up Elixir v1.16 OTP26 | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: "1.16.X" # Define the elixir version [required] | |
otp-version: "26.X" # Define the OTP version [required] | |
- name: Install dependencies | |
run: mix deps.get | |
# Step: Compile the project treating any warnings as errors. | |
- name: Compiles without warnings | |
run: mix compile --force --warnings-as-errors | |
# Step: Check that the checked in code has already been formatted. | |
- name: Check Formatting | |
run: mix format --check-formatted | |
- name: Run tests | |
env: | |
DATABASE_HOST: localhost | |
# POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }} | |
MIX_ENV: test | |
run: mix test | |
- name: Set up Elixir v1.16 OTP27 | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: "1.16.X" # Define the elixir version [required] | |
otp-version: "27.X" # Define the OTP version [required] | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Run tests | |
env: | |
DATABASE_HOST: localhost | |
# POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }} | |
MIX_ENV: test | |
run: mix test | |
- name: Set up Elixir v1.17 OTP26 | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: "1.17.X" # Define the elixir version [required] | |
otp-version: "26.X" # Define the OTP version [required] | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Run tests | |
env: | |
DATABASE_HOST: localhost | |
# POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }} | |
MIX_ENV: test | |
run: mix test | |
- name: Set up Elixir v1.17 OTP27 | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: "1.17.X" # Define the elixir version [required] | |
otp-version: "27.X" # Define the OTP version [required] | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Run tests | |
env: | |
DATABASE_HOST: localhost | |
# POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }} | |
MIX_ENV: test | |
run: mix test |