* ci: create gh action that installs go from go.mod
* ci: create gh action that installs ubuntu dependencies
* ci: create gh workflow that runs go checks
* ci: test the check workflow
* Revert "ci: test the check workflow"
This reverts commit 1d0759d3c69eae99d17c5a80470b7a40d5b3bc94.
* ci: create gh action that installs go from go.mod
* ci: create gh action that installs ubuntu dependencies
* ci: create gh workflow that runs go build
* ci: test the build workflow
* Revert "ci: test the build workflow"
This reverts commit 8150510aae4d6d1fb1d719e2d69057a3c0695d32.
Codec != Raw likely means built-in actor events, which we can safely skip, so
avoid filling up logs with warnings for every built-in actor event that comes
past this point.
Fixes: https://github.com/filecoin-project/lotus/issues/11718
This is done with the intention to add new {Get,Subscribe}ActorEvents in a
future release (i.e. soon!) with both decoded values (dag-json represented)
and simplified (no flags or codec). But because this comes with some
trade-offs wrt fidelity of information (e.g. likely needing to drop events with
badly encoded values, and not retaining original codec), we need to also have
a Raw form of these APIs for consumers that want to take on the burden of
consuming them as they are.
This enhancement optimizes the schema migration process for the event
index by preventing the redundant execution of Data Definition Language
(DDL) statements that define the event schema. Traditionally, these DDL
statements were grouped into a single slice, reflecting the most current
version of the event index schema. With each migration, this slice was
updated to the latest schema iteration, executing all statements in
bulk. Initially, this method sufficed as migrations were focused on
adding indices to existing table columns.
However, as the database schema evolves to meet new requirements, such
as the forthcoming migrations that involve changes to table schemas
(notably, indexing events by emitter actor ID instead of addresses),
the prior approach of bulk execution of DDL statements becomes
unsuitable: it will no longer be safe to repeatedly execute DDL
statements in previous migrations, because the upcoming one changes
`event` table column structure. To address this issue, the work here has
isolated the event index schema migrations on a per-version basis. This
adjustment ensures that only the necessary DDL statements are executed
during each migration, avoiding the inefficiencies and potential errors
associated with redundant executions.
The work here should also minimize the refactoring required for future
migrations, facilitating a smoother introduction of significant schema
updates.