diff --git a/.github/workflows/run_test_cases.yaml b/.github/workflows/run_test_cases.yaml index c9ddfcec2..910c3a77c 100644 --- a/.github/workflows/run_test_cases.yaml +++ b/.github/workflows/run_test_cases.yaml @@ -11,12 +11,13 @@ on: jobs: prepare: - runs-on: ubuntu-20.04 + runs-on: aws-amd64 container: ghcr.io/emqx/emqx-builder/4.4-20:24.3.4.2-1-ubuntu20.04 outputs: fast_ct_apps: ${{ steps.run_find_apps.outputs.fast_ct_apps }} docker_ct_apps: ${{ steps.run_find_apps.outputs.docker_ct_apps }} steps: + - uses: AutoModality/action-clean@v1 - uses: actions/checkout@v3 with: path: source @@ -40,6 +41,7 @@ jobs: - name: get_all_deps working-directory: source run: | + git config --global --add safe.directory $(pwd) # build the default profile for two purposes # 1. download all dependencies (so the individual app runs do not depend on github credentials) # 2. some of the files such as segmented config files are not created when compiling only the test profile @@ -55,7 +57,7 @@ jobs: eunit_and_proper: needs: prepare - runs-on: ubuntu-20.04 + runs-on: aws-amd64 container: ghcr.io/emqx/emqx-builder/4.4-20:24.3.4.2-1-ubuntu20.04 strategy: fail-fast: false @@ -83,7 +85,7 @@ jobs: fast_ct: needs: prepare - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.runs-on }} container: ghcr.io/emqx/emqx-builder/4.4-20:24.3.4.2-1-ubuntu20.04 strategy: fail-fast: false @@ -246,7 +248,7 @@ jobs: - eunit_and_proper - fast_ct - docker_ct - runs-on: ubuntu-20.04 + runs-on: aws-amd64 container: ghcr.io/emqx/emqx-builder/4.4-20:24.3.4.2-1-ubuntu20.04 steps: - uses: AutoModality/action-clean@v1 @@ -276,7 +278,7 @@ jobs: finish: needs: make_cover - runs-on: ubuntu-20.04 + runs-on: aws-amd64 steps: - name: Coveralls Finished env: diff --git a/apps/emqx_management/src/emqx_mgmt_http.erl b/apps/emqx_management/src/emqx_mgmt_http.erl index aeceabe32..0d20e5230 100644 --- a/apps/emqx_management/src/emqx_mgmt_http.erl +++ b/apps/emqx_management/src/emqx_mgmt_http.erl @@ -125,7 +125,10 @@ handle_request(_Method, _Path, Req) -> cowboy_req:reply(400, #{<<"content-type">> => <<"text/plain">>}, <<"Not found.">>, Req). authorize_appid(Req) -> - authorize_appid(cowboy_req:method(Req), cowboy_req:path(Req), Req). + authorize_appid( + iolist_to_binary(string:uppercase(cowboy_req:method(Req))), + iolist_to_binary(cowboy_req:path(Req)), + Req). authorize_appid(<<"GET">>, <<"/api/v4/emqx_prometheus">>, _Req) -> true; diff --git a/lib-ce/emqx_dashboard/src/emqx_dashboard.erl b/lib-ce/emqx_dashboard/src/emqx_dashboard.erl index 45b87b38a..dbd441239 100644 --- a/lib-ce/emqx_dashboard/src/emqx_dashboard.erl +++ b/lib-ce/emqx_dashboard/src/emqx_dashboard.erl @@ -107,7 +107,10 @@ http_handlers() -> %%-------------------------------------------------------------------- is_authorized(Req) -> - is_authorized(cowboy_req:method(Req), cowboy_req:path(Req), Req). + is_authorized( + iolist_to_binary(string:uppercase(cowboy_req:method(Req))), + iolist_to_binary(cowboy_req:path(Req)), + Req). is_authorized(<<"GET">>, <<"/api/v4/emqx_prometheus">>, _Req) -> true;