case os:getenv("GITHUB_ACTIONS") of
  "true" ->
    Token = os:getenv("GITHUB_TOKEN"),
    CONFIG1 = lists:keystore(coveralls_repo_token, 1, CONFIG, {coveralls_repo_token, os:getenv("GITHUB_TOKEN")}),
    CONFIG2 = lists:keystore(coveralls_service_job_id, 1, CONFIG1, {coveralls_service_job_id, os:getenv("GITHUB_RUN_ID")}),
    CONFIG3 = lists:keystore(coveralls_commit_sha, 1, CONFIG2, {coveralls_commit_sha, os:getenv("GITHUB_SHA")}),
    CONFIG4 = lists:keystore(coveralls_service_number, 1, CONFIG3, {coveralls_service_number, os:getenv("GITHUB_RUN_NUMBER")}),
    CONFIG5 = lists:keystore(coveralls_service_name, 1, CONFIG4, {coveralls_service_name, "github"}),
    CONFIG6 = lists:keystore(coveralls_coverdata, 1, CONFIG5, {coveralls_coverdata, "_build/test/cover/*.coverdata"}),
    CONFIG7 = lists:keystore(cover_export_enabled, 1, CONFIG6, {cover_export_enabled, true}),
    CONFIG8 = case os:getenv("GITHUB_EVENT_NAME") =:= "pull_request" andalso string:tokens(os:getenv("GITHUB_REF"), "/") of
        [_, "pull", PRNO, _] ->
            [{coveralls_service_pull_request, PRNO} | CONFIG7];
        _ ->
            CONFIG7
    end,
    PROFILES1 = proplists:get_value(profiles, CONFIG8, []),
    PLUGINS1 = proplists:get_value(plugins, CONFIG8, []),
    PLUGINS2 = PLUGINS1 ++ [rebar3_hex],
    TEST_PROFILE_CONFIG1 = proplists:get_value(test, PROFILES1, []),
    TEST_PLUGINS1 = proplists:get_value(plugins, TEST_PROFILE_CONFIG1, []),
    TEST_PLUGINS2 =
        case lists:member(coveralls, TEST_PLUGINS1) or lists:keymember(coveralls, 1, TEST_PLUGINS1) of
            true ->
                TEST_PLUGINS1;
            false ->
                TEST_PLUGINS1 ++ [coveralls]
        end,
    TEST_PROFILE_CONFIG2 = lists:keystore(plugins, 1, TEST_PROFILE_CONFIG1, {plugins, TEST_PLUGINS2}),
    PROFILES2 = lists:keystore(test, 1, PROFILES1, {test, TEST_PROFILE_CONFIG2}),
    CONFIG9 = lists:keystore(profiles, 1, CONFIG8, {profiles, PROFILES2}),
    lists:keystore(plugins, 1, CONFIG9, {plugins, PLUGINS2});
  _ ->
    CONFIG
end.
