Fixes a bug where we were looking for incorrect keys for metrics rules.
Previously, we were using full language names in the keys. Now, we use
the short language names in the metric ids. This is done through a
simplification of the code.
Also, this change does two smaller things:
1. Prints out the baseline count to the logs
2. Adds the `assertNever` function to ensure we never miss a case in
a switch statement. This function is borrowed from vscode-codeql.
Mitigation for OOM errors (137/SIGKILL) seen by users when we overcommit the available memory.
For Unix, reserve 1GB.
For Windows, reserve 1.5GB, as the OS needs more memory and estimates inaccurately.
This commit adds two new ways of specifying GitHub auth:
1. from the GITHUB_TOKEN environment variable
2. from standard input
This commit does not include any documentation changes and the
descriptions of new command line options will need to be tweaked.
* Allow the codeql-action to be run locally
This change allows the codeql-action to be run locally through
[act](https://github.com/nektos/act).
In order to run the action locally, you need to do two things:
1. Add the `CODEQL_LOCAL_RUN: true` environment variable. The only way
I could figure out how to do this was to add it directly in the
workflow file in an `env` block. It _should_ be possible to add it
through a `.env` file and pass it to `act`, but I couldn't get it
working.
2. Run this command `act -j codeql -s GITHUB_TOKEN=<MY_PAT>`
Setting the `CODEQL_LOCAL_RUN` env var will fill in missing env vars
that the action needs, but isn't set by `act`. It will also avoid
making api calls to github that would fail locally.
This is a refactoring discussed in
https://github.com/github/dsp-codeql/issues/36