Some time ago GitHub announced Actions (still in beta, but with public access) that is like built-in CI service with great integration into rest of GitHub. This allows developers to define their own actions to be reused by others and publish them on Marketplace.
So I created new action that allows to run automatic Credo reviews by utilising great Reviewdog tool.
Usage is pretty simple. If you have Workflows enabled you just create new file named .github/workflows/lint.yml
that contains:
name: Lints CI
on: [pull_request]
jobs:
credo:
runs-on: ubuntu-latest
container:
image: elixir:1.9.1-slim
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
- name: Run Credo
uses: hauleth/reviewdog-action-credo@v1
with:
github_token: ${{ secrets.github_token }}
And as the result you will get report with style violations .
10 Likes
Also crated one for Erlang code and Elvis linter.
hauleth
October 12, 2019, 11:20am
4
I have created GH Organisation to group all repositories that are meant for operations that manage BEAM projects.
4 Likes
Do this comment on GH Pull request? same as Hound?
what violation and on which file it happened?
Hi, this is what I did.
1: Added a file in .github/workflows/ci.yml
name: Code Quality and Ex Unit Tests
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-elixir@v1
with:
otp-version: '23.0'
elixir-version: '1.11.1'
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
- name: credo
uses: red-shirts/reviewdog-action-credo@v1
with:
github_token: ${{ secrets.ghactions }}
reporter: github-pr-review
it gave me this error.
Run red-shirts/reviewdog-action-credo@v1
with:
github_token: ***
reporter: github-pr-review
level: error
/usr/bin/docker run --name 7fe9c421da50be8a228f67077_4634b0 --label 179394 --workdir /github/workspace --rm -e INPUT_GITHUB_TOKEN -e INPUT_REPORTER -e INPUT_LEVEL -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/evercam-server2/evercam-server2":"/github/workspace" 179394:2906b797fe9c421da50be8a228f67077 "***" "error" "github-pr-review"
** (Mix) Could not find an SCM for dependency :bcrypt_elixir from EvercamMedia.Mixfile