Skip to content

feat: update cli interface to be more elixir based #256

feat: update cli interface to be more elixir based

feat: update cli interface to be more elixir based #256

Workflow file for this run

---
jobs:
Benchmark:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Cache Results
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
key: benchmarks
path: benchmark_results
- name: Start Docker Compose
uses: ./.github/actions/start-docker-compose
- name: Benchmark
run: mix benchmark
Docs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Build Docs
run: mix docs
Format_Elixir:
name: Format (Elixir)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Format
run: mix format ${{ github.event_name == 'pull_request' && '' || '--check-formatted' }}
- if: ${{ github.event_name == 'pull_request' }}
name: Suggest
uses: reviewdog/action-suggester@63b8f8cc21dfa052ac44436e65ed31edcffcb6c1 # v1
with:
fail_on_error: true
filter_mode: nofilter
tool_name: mix
Lint_Actions:
name: Lint (Actions)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-actionlint@4f8f9963ca57a41e5fd5b538dd79dbfbd3e0b38a # v1
with:
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Alex:
name: Lint (Alex)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-alex@f95df9e356d97e67e4626f04ad125c4a99a906a9 # v1
with:
filter_mode: ${{ github.event_name == 'pull_request' && 'added' || 'nofilter' }}
level: info
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_CSS:
name: Lint (CSS)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Install Stylelint
run: npm install stylelint stylelint-config-standard
- name: Lint
uses: reviewdog/action-stylelint@9e1a9917f7d97c360463cd5d922385f84b9cc3a0 # v1
with:
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
stylelint_config: .github/linters/.stylelintrc.json
Lint_Credo:
name: Lint (Credo)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Credo
run: mix credo
Lint_Docker:
name: Lint (Docker)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-hadolint@2d90b15b2b969e507fc2a31af6e29ca19a0f9516 # v1
with:
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Doctor:
name: Lint (Doctor)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Doctor
run: mix doctor
Lint_Javascript:
name: Lint (Javascript)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Install Standard
run: npm install eslint-config-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-n
- name: Lint
uses: reviewdog/action-eslint@beb7a743eeb10db90a8529b5bc4031be52e90868 # v1
with:
eslint_flags: --config .github/linters/.eslintrc.json .
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Markdown:
name: Lint (Markdown)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-markdownlint@e9f3ab4fea1433280a4b0eddca17be1340dfea94 # v0
with:
fail_on_error: true
filter_mode: nofilter
markdownlint_flags: -c .github/linters/.markdown-lint.yml .
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Misspell:
name: Lint (Misspell)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-misspell@ef8b22c1cca06c8d306fc6be302c3dab0f6ca12f # v1
with:
fail_on_error: true
filter_mode: nofilter
ignore: behaviour
locale: US
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Shellcheck:
name: Lint (Shellcheck)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-shellcheck@d99499e855260c9c56f7a1d066933b57326e9e7c # v1
with:
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
Lint_Shfmt:
name: Lint (shfmt)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-shfmt@f59386f08bd9a24ac1a746e69f026ddc2ed06710 # v1
with:
fail_on_error: true
filter_mode: nofilter
Lint_Yaml:
name: Lint (Yaml)
permissions:
checks: write
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Lint
uses: reviewdog/action-yamllint@4e4ba96d03a0e12a0e71c29e5fef1db309d09201 # v1
with:
fail_on_error: true
filter_mode: nofilter
reporter: ${{ github.event_name == 'pull_request' && 'github-pr-review' || 'local' }}
yamllint_flags: -c .github/linters/.yaml-lint.yml .
Sobelow:
permissions:
contents: read
security-events: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Compile
run: mix compile
- name: Sobelow
run: mix sobelow
# We run once to allow any compile warnings or things that
# would interfere with the JSON output
- name: Sobelow Sarif
run: mix sobelow --skip --format sarif > results.sarif
- name: Upload Report
uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3
with:
sarif_file: results.sarif
Test:
env:
MIX_ENV: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Setup Elixir
uses: ./.github/actions/setup-elixir
- name: Compile
run: mix compile --all-warnings --warnings-as-errors
- name: Start Docker Compose
uses: ./.github/actions/start-docker-compose
- name: Test
run: mix test --all-warnings --cover --warnings-as-errors
name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch: