Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
2bbe04e
more efficient
snadrus Dec 2, 2025
77223b3
latest ffi
snadrus Dec 2, 2025
7d3de92
fiddling
snadrus Dec 2, 2025
893ad2b
version lock
snadrus Dec 2, 2025
9d9dc58
mod stuff
snadrus Dec 2, 2025
89cfd55
dedup setup
snadrus Dec 2, 2025
e4125cb
giving this a try
snadrus Dec 2, 2025
3a599e1
cache params
snadrus Dec 2, 2025
fa8b9be
docker build
snadrus Dec 2, 2025
aba2eaa
reuse without containers
snadrus Dec 2, 2025
d67a235
yugabyte cant clone
snadrus Dec 3, 2025
07655f0
CLEANUPS
snadrus Dec 3, 2025
7cc440e
itest
snadrus Dec 3, 2025
2ad599a
try docker file again
snadrus Dec 4, 2025
49f1c93
reuse compromise
snadrus Dec 4, 2025
2c6ab32
greased lightning
snadrus Dec 4, 2025
128388b
itest parallel
snadrus Dec 4, 2025
40b5b99
yb local to itests
snadrus Dec 4, 2025
5961a1c
yb clone fuss
snadrus Dec 4, 2025
07a72ca
mx the itest create to handle the thundering herd
snadrus Dec 4, 2025
1017b0d
fix idempotent test
snadrus Dec 4, 2025
e611db4
parallel
snadrus Dec 4, 2025
242ee2a
fixes
snadrus Dec 4, 2025
8bf1035
serial vs parallel tests
snadrus Dec 4, 2025
a4d4b65
further op plus make gen timing debug
snadrus Dec 4, 2025
a6c3fd6
lets try something
snadrus Dec 4, 2025
67531e7
change-detect should be test-friendly
snadrus Dec 4, 2025
a5ce2dd
test fixes
snadrus Dec 5, 2025
adb3f1a
fixes
snadrus Dec 5, 2025
51a6a8c
stuff to pass tests
snadrus Dec 5, 2025
52133dd
sqlidem works
snadrus Dec 6, 2025
d10bb08
un-flake Crud
snadrus Dec 6, 2025
56545f2
try docker
snadrus Dec 6, 2025
15c1792
swag version fix
snadrus Dec 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions .github/actions/install-deps/action.yml

This file was deleted.

64 changes: 64 additions & 0 deletions .github/actions/setup-build-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: 'Setup Build Environment'
description: 'Setup Go, install deps, cache/build FFI - everything needed to build'

inputs:
go-version:
description: 'Go version to use'
required: true

runs:
using: 'composite'
steps:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
cache: true
cache-dependency-path: go.sum

- name: Install system dependencies (Ubuntu only)
run: |
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y curl ca-certificates gnupg ocl-icd-opencl-dev libhwloc-dev
fi
shell: bash

- name: Download Go modules
run: go mod download
shell: bash

# Cache FFI build based on submodule commit
- name: Generate FFI cache key
id: ffi-cache-key
run: |
FFI_COMMIT=$(git -C extern/filecoin-ffi rev-parse HEAD 2>/dev/null || echo "unknown")
echo "key=ffi-${{ runner.os }}-${{ inputs.go-version }}-${FFI_COMMIT}" >> $GITHUB_OUTPUT
shell: bash

- name: Cache FFI build
id: cache-ffi
uses: actions/cache@v4
with:
path: |
extern/filecoin-ffi/.install-filcrypto
extern/filecoin-ffi/filcrypto.h
extern/filecoin-ffi/libfilcrypto.a
extern/filecoin-ffi/filcrypto.pc
build/.filecoin-install
build/.blst-install
extern/supraseal/.install-blst
extern/supraseal/deps/blst
key: ${{ steps.ffi-cache-key.outputs.key }}

- name: Build FFI
if: steps.cache-ffi.outputs.cache-hit != 'true'
run: make deps
shell: bash

- name: Restore FFI marker files
if: steps.cache-ffi.outputs.cache-hit == 'true'
run: |
mkdir -p build
touch build/.filecoin-install build/.blst-install || true
shell: bash
16 changes: 0 additions & 16 deletions .github/actions/setup-go/action.yml

This file was deleted.

41 changes: 41 additions & 0 deletions .github/images/build-env/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Build environment for Curio CI
# Contains: Go, system dependencies, and common tools
# Rebuild when: Go version changes, system deps change, go.mod/go.sum change

ARG GO_VERSION=1.24.7

FROM golang:${GO_VERSION}-bookworm

# Install system dependencies (same as install-deps action)
RUN apt-get update && apt-get install -y \
curl \
ca-certificates \
gnupg \
ocl-icd-opencl-dev \
libhwloc-dev \
git \
&& rm -rf /var/lib/apt/lists/*

# Install Docker CLI (for test-itest to communicate with host Docker daemon)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list && \
apt-get update && \
apt-get install -y docker-ce-cli && \
rm -rf /var/lib/apt/lists/*

# Set up workspace
WORKDIR /workspace

# Copy go.mod and go.sum to pre-download modules
COPY go.mod go.sum ./

# Pre-download Go modules (will be cached in /go/pkg/mod)
RUN go mod download

# Install common dev/CI tools (from tools/tools.go)
RUN go install golang.org/x/tools/cmd/goimports@latest && \
go install github.com/hannahhoward/cbor-gen-for@latest && \
go install github.com/swaggo/swag/cmd/swag@latest

51 changes: 51 additions & 0 deletions .github/workflows/build-env-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build CI Environment Image

on:
push:
branches: [main]
paths:
- '.github/images/build-env/**'
- '.github/workflows/build-env-image.yml'
- 'go.mod'
- 'go.sum'
workflow_dispatch: # Allow manual trigger

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}/build-env

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- uses: actions/checkout@v4

- name: Log in to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest
type=sha,prefix=

- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: .github/images/build-env/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

Loading
Loading