Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 30 additions & 0 deletions .github/actions/setup-aptos/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Setup Aptos CLI
description: Install and cache Aptos CLI
inputs:
version:
description: Aptos CLI version
required: false
default: "8.1.0"

runs:
using: composite
steps:
- name: Cache Aptos CLI
id: cache
uses: actions/cache@v6
with:
path: |
~/.local/bin/aptos
key: ${{ runner.os }}-${{ runner.arch }}-aptos-${{ inputs.version }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-aptos-

- name: Install Aptos CLI
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
uses: aptos-labs/actions/install-aptos-cli@fdd3a3a628c840d5c35086a87e9cc3141b635505

Check warning on line 24 in .github/actions/setup-aptos/action.yml

View workflow job for this annotation

GitHub Actions / Validate Workflow Changes

1. No version comment found (version-comment / warning)
with:
CLI_VERSION: ${{ inputs.version }}

- name: Export Aptos CLI to PATH
shell: bash
run: echo "$HOME/.local/bin" >> "$GITHUB_PATH"
74 changes: 74 additions & 0 deletions .github/actions/setup-loop-plugins/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Setup LOOP Plugins
description: Setup and cache LOOP plugins
inputs:
plugin-file:
description: Path to public plugins file
required: false
default: plugins/plugins.public.yaml
Comment on lines +3 to +7
install-local:
description: Whether to install local plugins
required: false
default: "true"
cache-version:
description: Cache version bust knob
required: false
default: "v1"

runs:
using: composite
steps:
- name: Resolve Cache Keys and Directories
id: keys
shell: bash
run: |
echo "bin=$HOME/.cache/cl-loop-plugins/bin" | tee -a "$GITHUB_OUTPUT"
echo "gocache=$HOME/.cache/cl-loop-plugins/gocache" | tee -a "$GITHUB_OUTPUT"
echo "goversion=$(go env GOVERSION)" | tee -a "$GITHUB_OUTPUT"

- name: Restore Binaries Cache (Tier 1)
id: bin-cache
uses: actions/cache/restore@v6
with:
path: ${{ steps.keys.outputs.bin }}
key: ${{ runner.os }}-${{ runner.arch }}-loopbin-${{ inputs.cache-version }}-${{ steps.keys.outputs.goversion }}-${{ hashFiles(inputs.plugin-file) }}

- name: Restore Go Build Cache (Tier 2)
id: gocache-cache
if: ${{ steps.bin-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/restore@v6
with:
path: ${{ steps.keys.outputs.gocache }}
key: ${{ runner.os }}-${{ runner.arch }}-loopgocache-${{ inputs.cache-version }}-${{ steps.keys.outputs.goversion }}-${{ hashFiles(inputs.plugin-file) }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-loopgocache-${{ inputs.cache-version }}-${{ steps.keys.outputs.goversion }}-

- name: Build public plugins
if: ${{ steps.bin-cache.outputs.cache-hit != 'true' }}
shell: bash
env:
GOBIN: ${{ steps.keys.outputs.bin }}
GOCACHE: ${{ steps.keys.outputs.gocache }}
run: make install-plugins-public

- name: Save Binaries Cache (Tier 1)
if: ${{ steps.bin-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v6
with:
path: ${{ steps.keys.outputs.bin }}
key: ${{ runner.os }}-${{ runner.arch }}-loopbin-${{ inputs.cache-version }}-${{ steps.keys.outputs.goversion }}-${{ hashFiles(inputs.plugin-file) }}

- name: Save Go Build Cache (Tier 2)
if: ${{ steps.bin-cache.outputs.cache-hit != 'true' && steps.gocache-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v6
with:
path: ${{ steps.keys.outputs.gocache }}
key: ${{ runner.os }}-${{ runner.arch }}-loopgocache-${{ inputs.cache-version }}-${{ steps.keys.outputs.goversion }}-${{ hashFiles(inputs.plugin-file) }}

- name: Export plugin bin to PATH
shell: bash
run: echo "${{ steps.keys.outputs.bin }}" >> "$GITHUB_PATH"

- name: Install local plugins
if: ${{ inputs.install-local == 'true' }}
shell: bash
run: make install-plugins-local
10 changes: 8 additions & 2 deletions .github/actions/setup-solana/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: Setup Solana CLI
description: Setup solana CLI
inputs:
version:
description: Solana CLI version
required: false
default: v1.18.26
Comment on lines +4 to +7
base-path:
description: Path to the base of the repo
required: false
Expand All @@ -13,8 +17,10 @@ runs:
name: Cache solana CLI
with:
path: |
~/.local/share/solana/install/active_release/bin
key: ${{ runner.os }}-${{ runner.arch }}-solana-cli-${{ hashFiles(format('{0}/tools/ci/install_solana', inputs.base-path)) }}
~/.local/share/solana
key: ${{ runner.os }}-${{ runner.arch }}-solana-cli-${{ inputs.version }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-solana-cli-

- if: ${{ steps.cache.outputs.cache-hit != 'true' }}
name: Install solana cli
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -367,9 +367,7 @@ jobs:

- name: Setup Aptos
if: ${{ matrix.type.should-run == 'true' && matrix.type.setup-aptos == 'true' }}
uses: aptos-labs/actions/install-aptos-cli@fdd3a3a628c840d5c35086a87e9cc3141b635505 # 2026-05-20
with:
CLI_VERSION: 8.1.0
uses: ./.github/actions/setup-aptos

- name: Setup Sui CLI v1.72.2
if: ${{ matrix.type.should-run == 'true' && matrix.type.setup-sui == 'true' }}
Expand Down Expand Up @@ -404,7 +402,7 @@ jobs:
if:
${{ matrix.type.should-run == 'true' && matrix.type.install-loopps == 'true'
}}
run: make install-plugins
uses: ./.github/actions/setup-loop-plugins

- name: Increase Timeouts for Fuzz/Race
# Increase timeouts for scheduled runs only
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/ci-deployments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,12 @@ jobs:
build-cache-write: ${{ matrix.shard-id == 1 && 'default-branch-only' || 'never' }}
go-version-file: deployment/go.mod
go-module-file: deployment/go.sum
- name: Download Go vendor packages
run: go mod download
Comment on lines +159 to +160
- name: Setup Solana
uses: ./.github/actions/setup-solana
- name: Setup Aptos
uses: aptos-labs/actions/install-aptos-cli@fdd3a3a628c840d5c35086a87e9cc3141b635505 # 2026-05-20
with:
CLI_VERSION: 8.1.0
uses: ./.github/actions/setup-aptos
- name: Setup Sui CLI v1.72.2
uses: ./.github/actions/setup-sui
with:
Expand All @@ -173,14 +173,14 @@ jobs:
tmpfs: "true"
image-tag: "16-alpine"
postgres-options: "-c max_connections=1000 -c shared_buffers=2GB -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c client_min_messages=warning" # Turn off some prod-protections to make postgres go brrr. https://github.com/peterldowns/pgtestdb#how-do-i-make-it-go-faster
- name: Download Go vendor packages
run: go mod download
- name: Setup DB
run: go run ./core/store/cmd/preparetest
run: |
go install ./core/store/cmd/preparetest
preparetest
env:
CL_DATABASE_URL: ${{ env.DB_URL }}
- name: Install LOOP Plugins
run: make install-plugins
uses: ./.github/actions/setup-loop-plugins
- name: Run tests
timeout-minutes: 25
continue-on-error: true
Expand Down
Loading