argotorg / argotorg/solidity

CI Refactor

Open
#16,136 2 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

Here's my tentative plan; feedback welcome of course.

- [x] gh action: check and build docs when a PR or push changes a file in docs/
- [x] b_docs
- [x] chk_pylint
- [x] chk_docs_pragma_min_version
- [x] circleci: remove chk_docs_pragma_min_version from workflow
- [x] gh action: run test_antlr_grammar.sh when a file changes in docs/grammar/
- [x] circleci: remove chk_antlr_grammar from workflow (10m small)
- [x] gh action: scripts/run_proofs.sh when a file in test/formal/ changes
(these are in #16135)

- [ ] circleci: trigger workflow on `run-ci` gh label
- [ ] gh action: apply `run-ci` label automatically for org members
- [ ] gh action: build and test on ubuntu if any files other than { docs/*, *.md, *.txt } changes (this is the simple workflow that will run by default for non-docs external PRs)
- [x] enable ccache/sccache on solc builds https://github.com/argotorg/solidity/pull/16385

We should also consider a less-than-full default workflow for internal PRs. In addition to using fewer circle credits, this will also speed up CI feedback for PRs. I could use some help defining what this should be (if something like this is desirable at all).

Here are the highest-credit jobs in the main workflow, with credit count and cost per job over the past 30 days. Note that the highest monthly usage in the past year was ~5x the past 30 days. Each run of the main workflow costs about $10.30 as it is today, fwiw.

Image

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing GitHub Actions and CircleCI workflow definitions, then inspect docs/, docs/grammar/, test/formal/, and scripts/run_proofs.sh to understand the current job boundaries. Compare the unchecked run-ci label and changed-file conditions with the completed migration items; done means the intended workflows trigger correctly, non-docs changes receive the default Ubuntu build and test path, and redundant CircleCI jobs are removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, shell
Domain
build-system, ci-cd, devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.