Skip to content

Merge pull request #1744 from bors-ng/dependabot/npm_and_yarn/assets/… #2

Merge pull request #1744 from bors-ng/dependabot/npm_and_yarn/assets/…

Merge pull request #1744 from bors-ng/dependabot/npm_and_yarn/assets/… #2

Workflow file for this run

name: CI
on:
# Only run when merging to master, or open/synchronize/reopen a PR.
push:
branches:
- master
- staging
- trying
pull_request:
merge_group:
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
elixir: ["1.12.3", "1.13.4", "1.14.5"]
otp_release: ["24.3.4.13", "25.3.2.4"]
os: [ubuntu-latest]
database: [postgresql, mysql]
exclude:
- elixir: "1.12.3"
otp_release: "25.3.2.4"
# #- elixir: "1.14.1"
# # otp_release: "23.2"
steps:
- uses: actions/checkout@master
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_release }}
elixir-version: ${{ matrix.elixir }}
- run: mix deps.get
env:
BORS_DATABASE: ${{ matrix.database }}
- name: Create Mysql Repo
if: matrix.database == 'mysql'
run: |
echo "running mysql database creation"
mix ecto.create -r BorsNG.Database.RepoMysql
env:
BORS_DATABASE: ${{ matrix.database }}
MIX_ENV: test
- name: Migrate Mysql Repo
if: matrix.database == 'mysql'
run: |
echo "running mysql migration"
mix ecto.migrate -r BorsNG.Database.RepoMysql
env:
BORS_DATABASE: ${{ matrix.database }}
MIX_ENV: test
- name: Create Postgres Repo
if: matrix.database == 'postgresql'
run: |
echo "running postgres database creation"
mix ecto.create -r BorsNG.Database.RepoPostgres
env:
BORS_DATABASE: ${{ matrix.database }}
MIX_ENV: test
- name: Migrate Postgres Repo
if: matrix.database == 'postgresql'
run: |
echo "running postgres migration"
mix ecto.migrate -r BorsNG.Database.RepoPostgres
env:
BORS_DATABASE: ${{ matrix.database }}
MIX_ENV: test
- run: mix test
env:
BORS_DATABASE: ${{ matrix.database }}
services:
postgresql:
image: postgres:13
env:
POSTGRES_PASSWORD: "Postgres1234"
POSTGRES_USER: postgres
POSTGRES_DB: bors_test
ports:
- 5432:5432
mysql:
image: borsng/mysqlnd
env:
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_ROOT_PASSWORD: ""
MYSQL_DATABASE: bors_test
ports:
- 3306:3306
exfmt:
name: exfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: erlef/setup-beam@v1
with:
otp-version: "25.1"
elixir-version: "1.14.1"
- run: mix format --check-formatted
ci-success:
name: ci
if: always()
needs:
- exfmt
- test
runs-on: ubuntu-latest
steps:
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
- name: Done
run: exit 0
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: v3.5.3
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config .github/workflows/config/chart-lint.yaml)
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-testing (lint)
run: ct lint --config .github/workflows/config/chart-lint.yaml
# Disable for now because Bors requires the GitHub application to exists
# - name: Create kind cluster
# uses: helm/[email protected]
# if: steps.list-changed.outputs.changed == 'true'
#
# - name: Run chart-testing (install)
# run: ct install --config .github/workflows/config/chart-lint.yaml