forked from AkkomaGang/akkoma
Merge branch 'cycles-ci' into 'develop'
Prevent compile-time cycles in CI See merge request pleroma/pleroma!3420
This commit is contained in:
commit
b84873d3df
2 changed files with 12 additions and 10 deletions
|
@ -24,6 +24,7 @@ stages:
|
||||||
- docker
|
- docker
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
|
- echo $MIX_ENV
|
||||||
- rm -rf _build/*/lib/pleroma
|
- rm -rf _build/*/lib/pleroma
|
||||||
- apt-get update && apt-get install -y cmake
|
- apt-get update && apt-get install -y cmake
|
||||||
- mix local.hex --force
|
- mix local.hex --force
|
||||||
|
@ -154,6 +155,15 @@ analysis:
|
||||||
script:
|
script:
|
||||||
- mix credo --strict --only=warnings,todo,fixme,consistency,readability
|
- mix credo --strict --only=warnings,todo,fixme,consistency,readability
|
||||||
|
|
||||||
|
cycles:
|
||||||
|
stage: test
|
||||||
|
image: elixir:1.11
|
||||||
|
cache: {}
|
||||||
|
script:
|
||||||
|
- mix deps.get
|
||||||
|
- mix compile
|
||||||
|
- mix xref graph --format cycles --label compile | awk '{print $0} END{exit ($0 != "No cycles found")}'
|
||||||
|
|
||||||
docs-deploy:
|
docs-deploy:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
cache: *testing_cache_policy
|
cache: *testing_cache_policy
|
||||||
|
|
|
@ -9,7 +9,6 @@ defmodule Pleroma.Tests.AuthTestController do
|
||||||
use Pleroma.Web, :controller
|
use Pleroma.Web, :controller
|
||||||
|
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug
|
|
||||||
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
||||||
|
|
||||||
# Serves only with proper OAuth token (:api and :authenticated_api)
|
# Serves only with proper OAuth token (:api and :authenticated_api)
|
||||||
|
@ -47,10 +46,7 @@ defmodule Pleroma.Tests.AuthTestController do
|
||||||
# Via :authenticated_api, serves if token is present and has requested scopes
|
# Via :authenticated_api, serves if token is present and has requested scopes
|
||||||
#
|
#
|
||||||
# Suggested use: as :fallback_oauth_check but open with nil :user for :api on private instances
|
# Suggested use: as :fallback_oauth_check but open with nil :user for :api on private instances
|
||||||
plug(
|
plug(:skip_public_check when action == :fallback_oauth_skip_publicity_check)
|
||||||
:skip_plug,
|
|
||||||
EnsurePublicOrAuthenticatedPlug when action == :fallback_oauth_skip_publicity_check
|
|
||||||
)
|
|
||||||
|
|
||||||
plug(
|
plug(
|
||||||
OAuthScopesPlug,
|
OAuthScopesPlug,
|
||||||
|
@ -62,11 +58,7 @@ defmodule Pleroma.Tests.AuthTestController do
|
||||||
# Via :authenticated_api, serves if :user is set (regardless of token presence and its scopes)
|
# Via :authenticated_api, serves if :user is set (regardless of token presence and its scopes)
|
||||||
#
|
#
|
||||||
# Suggested use: making an :api endpoint always accessible (e.g. email confirmation endpoint)
|
# Suggested use: making an :api endpoint always accessible (e.g. email confirmation endpoint)
|
||||||
plug(
|
plug(:skip_auth when action == :skip_oauth_skip_publicity_check)
|
||||||
:skip_plug,
|
|
||||||
[OAuthScopesPlug, EnsurePublicOrAuthenticatedPlug]
|
|
||||||
when action == :skip_oauth_skip_publicity_check
|
|
||||||
)
|
|
||||||
|
|
||||||
# Via :authenticated_api, always fails with 403 (endpoint is insecure)
|
# Via :authenticated_api, always fails with 403 (endpoint is insecure)
|
||||||
# Via :api, drops :user if present and serves if public (private instance rejects on no user)
|
# Via :api, drops :user if present and serves if public (private instance rejects on no user)
|
||||||
|
|
Loading…
Reference in a new issue