Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Set output for run results for easy historical analysis #50

Open
sambacha opened this issue May 24, 2024 · 0 comments
Open

Feature: Set output for run results for easy historical analysis #50

sambacha opened this issue May 24, 2024 · 0 comments

Comments

@sambacha
Copy link
Contributor

Foundry CI Analysis

Tracking metrics for monitoring both foundry regressions and contract development should not be hard.

It is desirable to monitor and track metrics such as:

bundle size
build time
lines of code
number of dependencies (i.e. import statements)
benchmarks
code coverage

Save run results

Something like this (pseudo code for illustration)

function outputResult(runResult: RunResult) {
    const result = normalizeResult(runResult);

    setOutput('success', result.success);

	// Build Related
    setOutput('number_of_contracts_compiled', result.number_of_contracts_compiled);
    setOutput('compiletime_of_contracts_compiled', result.compiletime_of_contracts_compiled);

	// Testing related
    setOutput('number_of_contracts_checked', result.number_of_contracts_checked);
    setOutput('number_of_issues', result.number_of_issues);
    setOutput('number_of_contracts_with_issues', result.files_with_issues.length);
    setOutput('contracts_with_issues', normalizeFiles(result.files_with_issues));
    setOutput('result', result);
}

The build related metrics should be applicable to all repos, as opposed to the testing related, which would ofc require tests (notwithstanding tests that are 'correct').

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant