Skip to content
Merged
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
24 changes: 16 additions & 8 deletions .github/workflows/build-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ on:
jobs:
build-amd64:
name: Build container (amd64)
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}
outputs:
tag: ${{ steps.prepare.outputs.tag }}
repo: ${{ steps.prepare.outputs.repo }}
Expand All @@ -43,7 +43,7 @@ jobs:
echo "repo=${REPO_NAME}" >> "$GITHUB_OUTPUT"

- name: Set up Docker Buildx
uses: useblacksmith/setup-docker-builder@v1
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
Expand All @@ -54,18 +54,22 @@ jobs:

- name: Build and push Docker image
id: build
uses: useblacksmith/build-push-action@v2
uses: docker/build-push-action@v6
with:
context: ${{ inputs.context }}
file: ${{ inputs.file }}
push: true
platforms: linux/amd64
tags: |
ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ hashFiles(inputs.file) }}-amd64
cache-from: |
type=registry,ref=ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ hashFiles(inputs.file) }}-amd64
type=registry,ref=ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ steps.prepare.outputs.tag }}
cache-to: type=inline

build-arm64:
name: Build container (arm64)
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}
outputs:
digest: ${{ steps.build.outputs.digest }}
steps:
Expand All @@ -83,7 +87,7 @@ jobs:
echo "repo=${REPO_NAME}" >> "$GITHUB_OUTPUT"

- name: Set up Docker Buildx
uses: useblacksmith/setup-docker-builder@v1
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
Expand All @@ -94,18 +98,22 @@ jobs:

- name: Build and push Docker image
id: build
uses: useblacksmith/build-push-action@v2
uses: docker/build-push-action@v6
with:
context: ${{ inputs.context }}
file: ${{ inputs.file }}
push: true
platforms: linux/arm64
tags: |
ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ hashFiles(inputs.file) }}-arm64
cache-from: |
type=registry,ref=ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ hashFiles(inputs.file) }}-arm64
type=registry,ref=ghcr.io/${{ steps.prepare.outputs.repo }}/${{ inputs.name }}:${{ steps.prepare.outputs.tag }}
cache-to: type=inline

create-manifest:
name: Create multi-arch manifest
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}
needs: [build-amd64, build-arm64]
steps:
- name: Checkout code
Expand All @@ -114,7 +122,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}

- name: Set up Docker Buildx
uses: useblacksmith/setup-docker-builder@v1
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/build-depends.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ on:
type: string
runs-on:
description: "Runner label to use (e.g., ubuntu-24.04 or ubuntu-24.04-arm)"
required: false
default: blacksmith-4vcpu-ubuntu-2404
required: true
type: string
outputs:
key:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/build-src.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ on:
default: ""
runs-on:
description: "Runner label to use (e.g., ubuntu-24.04 or ubuntu-24.04-arm)"
required: false
default: blacksmith-4vcpu-ubuntu-2404
required: true
type: string
outputs:
key:
Expand Down
29 changes: 23 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ concurrency:
jobs:
check-skip:
name: Check skip conditions
runs-on: blacksmith-4vcpu-ubuntu-2404
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}
outputs:
skip: ${{ steps.skip-check.outputs.skip }}
steps:
Expand Down Expand Up @@ -71,6 +71,7 @@ jobs:
with:
build-target: aarch64-linux
container-path: ${{ needs.container.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

depends-linux64:
name: x86_64-pc-linux-gnu
Expand All @@ -84,6 +85,7 @@ jobs:
with:
build-target: linux64
container-path: ${{ needs.container.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

depends-linux64_multiprocess:
name: linux64_multiprocess
Expand All @@ -95,7 +97,7 @@ jobs:
with:
build-target: linux64_multiprocess
container-path: ${{ needs.container.outputs.path }}
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}

depends-linux64_nowallet:
name: x86_64-pc-linux-gnu_nowallet
Expand All @@ -105,6 +107,7 @@ jobs:
with:
build-target: linux64_nowallet
container-path: ${{ needs.container.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

depends-mac:
name: x86_64-apple-darwin
Expand All @@ -114,6 +117,7 @@ jobs:
with:
build-target: mac
container-path: ${{ needs.container.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

depends-win64:
name: x86_64-w64-mingw32
Expand All @@ -123,6 +127,7 @@ jobs:
with:
build-target: win64
container-path: ${{ needs.container.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

lint:
name: Lint
Expand All @@ -141,6 +146,7 @@ jobs:
depends-key: ${{ needs.depends-aarch64-linux.outputs.key }}
depends-host: ${{ needs.depends-aarch64-linux.outputs.host }}
depends-dep-opts: ${{ needs.depends-aarch64-linux.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-linux64:
name: linux64-build
Expand All @@ -153,6 +159,7 @@ jobs:
depends-key: ${{ needs.depends-linux64.outputs.key }}
depends-host: ${{ needs.depends-linux64.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-linux64_fuzz:
name: linux64_fuzz-build
Expand All @@ -165,6 +172,7 @@ jobs:
depends-key: ${{ needs.depends-linux64.outputs.key }}
depends-host: ${{ needs.depends-linux64.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-linux64_multiprocess:
name: linux64_multiprocess-build
Expand All @@ -177,7 +185,7 @@ jobs:
depends-key: ${{ needs.depends-linux64_multiprocess.outputs.key }}
depends-host: ${{ needs.depends-linux64_multiprocess.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64_multiprocess.outputs.dep-opts }}
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}

src-linux64_nowallet:
name: linux64_nowallet-build
Expand All @@ -189,6 +197,7 @@ jobs:
depends-key: ${{ needs.depends-linux64_nowallet.outputs.key }}
depends-host: ${{ needs.depends-linux64_nowallet.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64_nowallet.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-linux64_sqlite:
name: linux64_sqlite-build
Expand All @@ -201,6 +210,7 @@ jobs:
depends-key: ${{ needs.depends-linux64.outputs.key }}
depends-host: ${{ needs.depends-linux64.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-linux64_tsan:
name: linux64_tsan-build
Expand All @@ -213,7 +223,7 @@ jobs:
depends-key: ${{ needs.depends-linux64_multiprocess.outputs.key }}
depends-host: ${{ needs.depends-linux64_multiprocess.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64_multiprocess.outputs.dep-opts }}
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}

src-linux64_ubsan:
name: linux64_ubsan-build
Expand All @@ -226,6 +236,7 @@ jobs:
depends-key: ${{ needs.depends-linux64.outputs.key }}
depends-host: ${{ needs.depends-linux64.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-mac:
name: mac-build
Expand All @@ -237,6 +248,7 @@ jobs:
depends-key: ${{ needs.depends-mac.outputs.key }}
depends-host: ${{ needs.depends-mac.outputs.host }}
depends-dep-opts: ${{ needs.depends-mac.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

src-win64:
name: win64-build
Expand All @@ -248,6 +260,7 @@ jobs:
depends-key: ${{ needs.depends-win64.outputs.key }}
depends-host: ${{ needs.depends-win64.outputs.host }}
depends-dep-opts: ${{ needs.depends-win64.outputs.dep-opts }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

test-linux64:
name: linux64-test
Expand All @@ -257,6 +270,7 @@ jobs:
bundle-key: ${{ needs.src-linux64.outputs.key }}
build-target: linux64
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

test-linux64_multiprocess:
name: linux64_multiprocess-test
Expand All @@ -266,7 +280,7 @@ jobs:
bundle-key: ${{ needs.src-linux64_multiprocess.outputs.key }}
build-target: linux64_multiprocess
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}

test-linux64_nowallet:
name: linux64_nowallet-test
Expand All @@ -276,6 +290,7 @@ jobs:
bundle-key: ${{ needs.src-linux64_nowallet.outputs.key }}
build-target: linux64_nowallet
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

test-linux64_sqlite:
name: linux64_sqlite-test
Expand All @@ -285,6 +300,7 @@ jobs:
bundle-key: ${{ needs.src-linux64_sqlite.outputs.key }}
build-target: linux64_sqlite
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}

test-linux64_tsan:
name: linux64_tsan-test
Expand All @@ -294,7 +310,7 @@ jobs:
bundle-key: ${{ needs.src-linux64_tsan.outputs.key }}
build-target: linux64_tsan
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}

test-linux64_ubsan:
name: linux64_ubsan-test
Expand All @@ -304,3 +320,4 @@ jobs:
bundle-key: ${{ needs.src-linux64_ubsan.outputs.key }}
build-target: linux64_ubsan
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}
2 changes: 1 addition & 1 deletion .github/workflows/cache-depends-sources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
cache-sources:
name: Cache depends sources
runs-on: ubuntu-24.04-arm
runs-on: ${{ vars.RUNNER_ARM64 || 'ubuntu-24.04-arm' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
jobs:
lint:
name: Run linters
runs-on: ubuntu-24.04
runs-on: ${{ vars.RUNNER_AMD64 || 'ubuntu-24.04' }}
container:
image: ${{ inputs.container-path }}
options: --user root
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/test-src.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ on:
type: string
runs-on:
description: "Runner label to use (e.g., ubuntu-24.04 or ubuntu-24.04-arm)"
required: false
default: blacksmith-4vcpu-ubuntu-2404
required: true
type: string

env:
Expand Down
Loading