Skip to content

ci: build the tree and test the fork's packages on every pull request - #13

Merged
lightchainaidev merged 4 commits into
mainfrom
lc-91-ci
Oct 12, 2026
Merged

lightchainaidev merged 4 commits into
mainfrom
lc-91-ci

Conversation

@lightchainaidev

@lightchainaidev lightchainaidev commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Adds a pull-request workflow, .github/workflows/ci.yml, beside the release workflow.

On every pull request

  • check: go build ./..., then go test -tags develop on the packages this fork changes:
    beacon-chain/core/altair, beacon-chain/core/epoch, beacon-chain/execution, beacon-chain/operations/attestations, cmd/prysmctl/testnet, config/params, time/slots, validator/client.
  • In beacon-chain/blockchain the fork changes only receive_attestation.go, so the check runs that file's five tests.

The rest of the tree is upstream Prysm and is tested there. There is no lint step and no Bazel build. The check took six and a half minutes on its green run.

Skipped by name
It took four runs to get a green one. What they showed, all on main's code:

  • TestProcessEpoch_CanProcess and TestProcessEpoch_CanProcessBellatrix (core/altair) fail every time: they expect the upstream balances (want: 31999841265, got: 31999841900).
  • TestEIP3076SpecTests, TestLoadConfigFile and the four Test*ConfigMatchesUpstreamYaml tests read their data from a Bazel runfiles directory and cannot run under go test.
  • TestAggregateAndSaveForkChoiceAtts_Multiple failed in two runs of three and TestProcessLogs_DepositRequestsStarted in one. Neither is in a file the fork changes.
  • TestService_HeadSyncCommitteeIndices (beacon-chain/blockchain) fails, and the assertion helper then panics while printing the difference, which ends that package's run. That is why the package is narrowed to the attestation tests.

Relation to #6
#6 proposes the same baseline with two packages (core/epoch, cmd/prysmctl) and leaves core/altair out because of the two tests above. This workflow covers those packages and the ones the slot-schedule work touched since.

Checked before opening

  • actionlint 1.7.12: clean.

Pull requests run go build ./... and go test on the nine packages this fork
changes.
… here

beacon-chain/blockchain and config/params refuse to run without -tags develop.

TestProcessEpoch_CanProcess and TestProcessEpoch_CanProcessBellatrix expect the
upstream balances and fail on main as it stands. TestEIP3076SpecTests reads its
vectors from a Bazel runfiles directory, which go test does not provide.
…ockchain

The config/params loader tests read their data from a Bazel runfiles directory,
which go test does not provide.

In beacon-chain/blockchain, TestService_HeadSyncCommitteeIndices fails and the
assertion helper then panics while printing the difference, which ends the
package's run. The fork changes only receive_attestation.go there, so the check
runs that file's tests.
Across three runs of the same code, TestAggregateAndSaveForkChoiceAtts_Multiple
failed twice and TestProcessLogs_DepositRequestsStarted once (replacement
transaction underpriced). Neither is in a file the fork changes.
@lightchainaidev
lightchainaidev merged commit 86835b1 into main Oct 12, 2026
1 check passed
@lightchainaidev
lightchainaidev deleted the lc-91-ci branch October 13, 2026 13:44
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

Successfully merging this pull request may close these issues.

1 participant