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
33 changes: 23 additions & 10 deletions .github/actions/host-init/init-client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ sudo mkdir -p /orchestrator/sandbox
sudo mkdir -p /orchestrator/template
sudo mkdir -p /orchestrator/build

# Add swapfile
# Add swapfile (skip if already active)
SWAPFILE="/swapfile"
sudo fallocate -l 1G $SWAPFILE
sudo chmod 600 $SWAPFILE
sudo mkswap $SWAPFILE
sudo swapon $SWAPFILE

# Make swapfile persistent
echo "$SWAPFILE none swap sw 0 0" | sudo tee -a /etc/fstab
if ! swapon --show | grep -q "$SWAPFILE"; then
sudo fallocate -l 1G $SWAPFILE
sudo chmod 600 $SWAPFILE
sudo mkswap $SWAPFILE
sudo swapon $SWAPFILE
echo "$SWAPFILE none swap sw 0 0" | sudo tee -a /etc/fstab
fi

# Set swap settings
sudo sysctl vm.swappiness=10
Expand Down Expand Up @@ -65,8 +65,21 @@ EOH
sudo udevadm control --reload-rules
sudo udevadm trigger

# Load the nbd module with 4096 devices
sudo modprobe nbd nbds_max=4096
# Load kernel modules — skip if built into kernel
for mod in nfs nfsv3; do
if [ -e /sys/module/${mod} ]; then
echo "${mod} is built into kernel"
else
sudo modprobe ${mod} 2>/dev/null && echo "${mod} loaded" || echo "WARNING: ${mod} not available"
fi
done

# NBD needs nbds_max parameter
if [ -e /sys/module/nbd ]; then
echo "nbd is built into kernel"
else
sudo modprobe nbd nbds_max=4096 2>/dev/null && echo "nbd loaded" || echo "WARNING: nbd not available"
fi

# Create the directory for the fc mounts
mkdir -p /fc-vm
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-request-same-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ permissions:

jobs:
assign:
runs-on: ubuntu-latest
runs-on: blacksmith-8vcpu-ubuntu-2404
Comment thread
tomassrnka marked this conversation as resolved.
steps:
- name: Get GitHub App installation token
id: app
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-upload-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ concurrency:
jobs:
deploy:
name: Build and upload job to the ${{ inputs.environment }} environment
runs-on: ci-builder
runs-on: blacksmith-4vcpu-ubuntu-2404
environment: ${{ inputs.environment }}
permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
claude-review:
name: Claude Code Review

runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
if: |
github.event_name == 'pull_request' ||
(github.event_name == 'issue_comment' &&
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
deploy:
name: Deploy Infra to the ${{ inputs.environment }} environment
runs-on: ubuntu-22.04
runs-on: blacksmith-4vcpu-ubuntu-2204
environment: ${{ inputs.environment }}
permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ concurrency:
jobs:
deploy:
name: Deploy job to the ${{ inputs.environment }} environment
runs-on: ubuntu-22.04
runs-on: blacksmith-4vcpu-ubuntu-2204
environment: ${{ inputs.environment }}
permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fc-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: workflow_call

jobs:
firecracker:
runs-on: ubuntu-24.04
runs-on: blacksmith-4vcpu-ubuntu-2404

steps:
- name: Checkout Code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
required: true
jobs:
integration_tests:
Comment thread
tomassrnka marked this conversation as resolved.
runs-on: infra-tests
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 30
permissions:
contents: read
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ permissions:

jobs:
detect-modules:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
outputs:
modules: ${{ steps.set-modules.outputs.modules }}
steps:
Expand All @@ -17,7 +17,7 @@ jobs:

golangci-lint:
needs: detect-modules
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy:
matrix:
modules: ${{ fromJSON(needs.detect-modules.outputs.modules) }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/out-of-order-migrations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [workflow_call]
jobs:
check:
name: Check for out of order migrations
runs-on: ubuntu-22.04
runs-on: blacksmith-4vcpu-ubuntu-2204
steps:
- name: Checkout repository
uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/periodic-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ permissions:
jobs:
changes:
name: Check
runs-on: ubuntu-22.04
runs-on: blacksmith-4vcpu-ubuntu-2204
timeout-minutes: 15
strategy:
fail-fast: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-go-dependbot-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
run:
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: write
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-no-generated-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ permissions:

jobs:
run-check:
runs-on: ubuntu-24.04
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Generate GitHub App installation token
id: app-token
Expand Down
23 changes: 17 additions & 6 deletions .github/workflows/pr-tests-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions:
jobs:
cross-compile:
name: Cross-compile all packages for ARM64
runs-on: ubuntu-24.04
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 15
steps:
- name: Checkout repository
Expand Down Expand Up @@ -39,7 +39,7 @@ jobs:

arm64-unit-tests:
name: ARM64 tests for ${{ matrix.package }}
runs-on: ubuntu-24.04-arm
runs-on: blacksmith-4vcpu-ubuntu-2404-arm
timeout-minutes: 30
env:
GIN_MODE: test
Expand Down Expand Up @@ -99,10 +99,21 @@ jobs:
sudo mount -t hugetlbfs none /mnt/hugepages
echo 256 | sudo tee /proc/sys/vm/nr_hugepages

# Install extra kernel modules (nbd is not in base modules on GitHub-hosted runners)
sudo apt-get update
sudo apt-get install -y linux-modules-extra-$(uname -r)
sudo modprobe nbd nbds_max=256
# Load kernel modules — skip if built into kernel
for mod in nfs nfsv3; do
if [ -e /sys/module/${mod} ]; then
echo "${mod} is built into kernel"
else
sudo modprobe ${mod} 2>/dev/null && echo "${mod} loaded" || echo "WARNING: ${mod} not available"
fi
done

# NBD needs nbds_max parameter
if [ -e /sys/module/nbd ]; then
echo "nbd is built into kernel"
else
sudo modprobe nbd nbds_max=256 || echo "WARNING: nbd not available — NBD tests will fail"
fi

# Disable inotify watching of change events for NBD devices
echo 'ACTION=="add|change", KERNEL=="nbd*", OPTIONS:="nowatch"' | sudo tee /etc/udev/rules.d/97-nbd-device.rules
Expand Down
21 changes: 17 additions & 4 deletions .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions:
jobs:
run-tests:
name: Run tests for ${{ matrix.package }}
runs-on: infra-tests
runs-on: blacksmith-4vcpu-ubuntu-2404
env:
GIN_MODE: test
strategy:
Expand Down Expand Up @@ -67,8 +67,21 @@ jobs:
sudo mount -t hugetlbfs none /mnt/hugepages
echo 2000 | sudo tee /proc/sys/vm/nr_hugepages

# Enable NBD
sudo modprobe nbd nbds_max=256
# Load kernel modules — skip if built into kernel
for mod in nfs nfsv3; do
if [ -e /sys/module/${mod} ]; then
echo "${mod} is built into kernel"
else
sudo modprobe ${mod} 2>/dev/null && echo "${mod} loaded" || echo "WARNING: ${mod} not available"
fi
done

# NBD needs nbds_max parameter
if [ -e /sys/module/nbd ]; then
echo "nbd is built into kernel"
else
sudo modprobe nbd nbds_max=256
fi

# Disable inotify watching of change events for NBD devices
echo 'ACTION=="add|change", KERNEL=="nbd*", OPTIONS:="nowatch"' | sudo tee /etc/udev/rules.d/97-nbd-device.rules
Expand All @@ -91,7 +104,7 @@ jobs:

validate-iac:
name: Validate terraform
runs-on: ubuntu-24.04
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
needs:
- unit-tests
- integration-tests
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
checks: write
if: always()
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/push-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
needs:
- unit-tests
- integration-tests
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
checks: write
if: always()
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/validate-openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions:
jobs:
validate-openapi:
name: Validate ${{ matrix.spec }}
runs-on: ubuntu-latest
runs-on: blacksmith-4vcpu-ubuntu-2404
strategy:
matrix:
spec:
Expand Down
Loading