CI: Run Ameba (#4753)
This PR simply adds Ameba to the CI but doesn't actually fix any of the detected issues.
This commit is contained in:
commit
0a54e26536
4 changed files with 37 additions and 49 deletions
58
.ameba.yml
58
.ameba.yml
|
@ -20,6 +20,9 @@ Lint/ShadowingOuterLocalVar:
|
||||||
Excluded:
|
Excluded:
|
||||||
- src/invidious/helpers/tokens.cr
|
- src/invidious/helpers/tokens.cr
|
||||||
|
|
||||||
|
Lint/NotNil:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Style
|
# Style
|
||||||
|
@ -31,6 +34,13 @@ Style/RedundantBegin:
|
||||||
Style/RedundantReturn:
|
Style/RedundantReturn:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
|
Style/ParenthesesAroundCondition:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# This requires a rewrite of most data structs (and their usage) in Invidious.
|
||||||
|
Style/QueryBoolMethods:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Metrics
|
# Metrics
|
||||||
|
@ -39,50 +49,4 @@ Style/RedundantReturn:
|
||||||
# Ignore function complexity (number of if/else & case/when branches)
|
# Ignore function complexity (number of if/else & case/when branches)
|
||||||
# For some functions that can hardly be simplified for now
|
# For some functions that can hardly be simplified for now
|
||||||
Metrics/CyclomaticComplexity:
|
Metrics/CyclomaticComplexity:
|
||||||
Excluded:
|
Enabled: false
|
||||||
# get_about_info(ucid, locale) => [17/10]
|
|
||||||
- src/invidious/channels/about.cr
|
|
||||||
|
|
||||||
# fetch_channel_community(ucid, continuation, ...) => [34/10]
|
|
||||||
- src/invidious/channels/community.cr
|
|
||||||
|
|
||||||
# create_notification_stream(env, topics, connection_channel) => [14/10]
|
|
||||||
- src/invidious/helpers/helpers.cr:84:5
|
|
||||||
|
|
||||||
# get_index(plural_form, count) => [25/10]
|
|
||||||
- src/invidious/helpers/i18next.cr
|
|
||||||
|
|
||||||
# call(context) => [18/10]
|
|
||||||
- src/invidious/helpers/static_file_handler.cr
|
|
||||||
|
|
||||||
# show(env) => [38/10]
|
|
||||||
- src/invidious/routes/embed.cr
|
|
||||||
|
|
||||||
# get_video_playback(env) => [45/10]
|
|
||||||
- src/invidious/routes/video_playback.cr
|
|
||||||
|
|
||||||
# handle(env) => [40/10]
|
|
||||||
- src/invidious/routes/watch.cr
|
|
||||||
|
|
||||||
# playlist_ajax(env) => [24/10]
|
|
||||||
- src/invidious/routes/playlists.cr
|
|
||||||
|
|
||||||
# fetch_youtube_comments(id, cursor, ....) => [40/10]
|
|
||||||
# template_youtube_comments(comments, locale, ...) => [16/10]
|
|
||||||
# content_to_comment_html(content) => [14/10]
|
|
||||||
- src/invidious/comments.cr
|
|
||||||
|
|
||||||
# to_json(locale, json) => [21/10]
|
|
||||||
# extract_video_info(video_id, ...) => [44/10]
|
|
||||||
# process_video_params(query, preferences) => [20/10]
|
|
||||||
- src/invidious/videos.cr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#src/invidious/playlists.cr:327:5
|
|
||||||
#[C] Metrics/CyclomaticComplexity: Cyclomatic complexity too high [19/10]
|
|
||||||
# fetch_playlist(plid : String)
|
|
||||||
|
|
||||||
#src/invidious/playlists.cr:436:5
|
|
||||||
#[C] Metrics/CyclomaticComplexity: Cyclomatic complexity too high [11/10]
|
|
||||||
# extract_playlist_videos(initial_data : Hash(String, JSON::Any))
|
|
||||||
|
|
24
.github/workflows/ci.yml
vendored
24
.github/workflows/ci.yml
vendored
|
@ -124,4 +124,28 @@ jobs:
|
||||||
- name: Test Docker
|
- name: Test Docker
|
||||||
run: while curl -Isf http://localhost:3000; do sleep 1; done
|
run: while curl -Isf http://localhost:3000; do sleep 1; done
|
||||||
|
|
||||||
|
ameba_lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Install Crystal
|
||||||
|
uses: crystal-lang/install-crystal@v1.8.0
|
||||||
|
with:
|
||||||
|
crystal: latest
|
||||||
|
|
||||||
|
- name: Cache Shards
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
./lib
|
||||||
|
./bin
|
||||||
|
key: shards-${{ hashFiles('shard.lock') }}
|
||||||
|
|
||||||
|
- name: Install Shards
|
||||||
|
run: shards install
|
||||||
|
|
||||||
|
- name: Run Ameba linter
|
||||||
|
run: bin/ameba
|
||||||
|
|
|
@ -2,7 +2,7 @@ version: 2.0
|
||||||
shards:
|
shards:
|
||||||
ameba:
|
ameba:
|
||||||
git: https://github.com/crystal-ameba/ameba.git
|
git: https://github.com/crystal-ameba/ameba.git
|
||||||
version: 1.5.0
|
version: 1.6.1
|
||||||
|
|
||||||
athena-negotiation:
|
athena-negotiation:
|
||||||
git: https://github.com/athena-framework/negotiation.git
|
git: https://github.com/athena-framework/negotiation.git
|
||||||
|
|
|
@ -35,7 +35,7 @@ development_dependencies:
|
||||||
version: ~> 0.10.4
|
version: ~> 0.10.4
|
||||||
ameba:
|
ameba:
|
||||||
github: crystal-ameba/ameba
|
github: crystal-ameba/ameba
|
||||||
version: ~> 1.5.0
|
version: ~> 1.6.1
|
||||||
|
|
||||||
crystal: ">= 1.0.0, < 2.0.0"
|
crystal: ">= 1.0.0, < 2.0.0"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue