Skip to content

Conversation

@samrose
Copy link
Collaborator

@samrose samrose commented Dec 4, 2025

using this PR to test blacksmith runner issues

@samrose samrose force-pushed the custom-github-runners-bs branch from 7c298a0 to c0310d8 Compare December 4, 2025 16:18
yvan-sraka and others added 29 commits December 5, 2025 09:11
Do not create postgresql package that depends on the runtime evaluation context as
that harms reproducibility.
…s jobs

Split the monolithic nix-build job into two workflows:
one for building PostgreSQL extensions and another for checks.

Building extensions can be resource-intensive and time-consuming, 
so isolating them allows for better resource allocation and parallelism.

Once they are built, the checks job can run tests and validations
on the already built extensions.
…ds by architecture

Extract AWS credential setup and nix build steps into a composite action
to reduce duplication. Split extension builds into separate jobs per
architecture (aarch64-linux, aarch64-darwin, x86_64-linux) and update
matrix generation to group packages by system.
We don't have a self hosted runner for x86_64-linux at the moment
…tions

Replace always() with !cancelled() to prevent jobs from running when the workflow
is cancelled. Add explicit success/skip conditions for dependent jobs to ensure
proper workflow execution flow.
We couldn't set duration to 18000 seconds when chaining roles.
Refactor GitHub Actions workflow to run build checks in parallel across different
architectures (aarch64-linux, aarch64-darwin) with separate job matrices.
Create a single nix-eval job to determine packages to build, removing
redundant extension and check matrices.
jfroche and others added 27 commits December 5, 2025 09:11
We might not need the full 8vcpu for aarch64-linux builds, so this
change reduces the runner size to 4vcpu to wait less for available
blacksmith runners.
Co-authored-by: samrose <samuel@supabase.io>
Fix github-matrix that would hang when nix-eval-jobs encountered errors due to subprocess pipe deadlock - stderr buffer would fill while reading stdout.

This change ensure that evaluation errors are visible and the workflow fails properly while still showing which packages succeeded.
…isibility

Integrates github-action-utils library to improve error and warning
visibility in GitHub Actions UI through workflow command annotations.
Refactor error handling to collect and group evaluation errors similar to warnings. Errors with the same message are now displayed together with a list of affected attributes.
Extract core error messages and format them better for GitHub Actions
annotations.
Add nix-eval to needs dependencies and check its result in conditional expressions to prevent downstream test jobs from running when evaluation fails.
We are running an older version of the 'result' library that uses
'_value' instead of 'ok_value' to access the successful result of a
computation.
…nsions

To be able to build extensions versions packages separately in CI, we
need to expose them in a nested structure. It is currently not possible
to do so with the flattened packages structure, as the individual
extension packages are not directly accessible.

In this change, we replace the flattened package structure with nested
legacyPackages to improve discoverability of individual extension
packages.
Simplify extension package naming by removing the redundant "-all" suffix that was appended to pname attributes.
…workflows

To make sure we only build what is necessary, we start building packages first, 
then run checks once all packages are built successfully.
@samrose samrose force-pushed the custom-github-runners-bs branch from c300005 to 7df1800 Compare December 5, 2025 14:11
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.

4 participants