Skip to content

Commit 55b6479

Browse files
committed
Add upload script
1 parent 8769de7 commit 55b6479

File tree

5 files changed

+44
-0
lines changed

5 files changed

+44
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ test_results/*
1515
/resources/linux
1616
/resources/x86_64
1717
/resources/aarch64
18+
.env

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
gcloud 534.0.0
12
rust 1.85.0

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-include .env
2+
3+
.PHONY: build
4+
build:
5+
./scripts/build.sh
6+
7+
.PHONY: upload
8+
upload:
9+
./scripts/upload.sh $(GCP_PROJECT_ID)
10+
11+
.PHONY: build-and-upload
12+
make build-and-upload: build upload

scripts/build.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
# The format will be: v<major>.<minor>.<patch>_g<commit_hash> — e.g. v1.7.2_g8bb88311
6+
# Extract full version from src/firecracker/swagger/firecracker.yaml
7+
FC_VERSION=$(python3 -c "import yaml; print(yaml.safe_load(open('src/firecracker/swagger/firecracker.yaml'))['info']['version'])")
8+
commit_hash=$(git rev-parse --short HEAD)
9+
version_name="v${FC_VERSION}_g${commit_hash}"
10+
echo "Version name: $version_name"
11+
12+
echo "Starting to build Firecracker version: $version_name"
13+
tools/devtool -y build --release
14+
15+
mkdir -p "./build/fc/${version_name}"
16+
cp ./build/cargo_target/x86_64-unknown-linux-musl/release/firecracker "./build/fc/${version_name}/firecracker"
17+
echo "Finished building Firecracker version: $version_name and copied to ./build/fc/${version_name}/firecracker"

scripts/upload.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
GCP_PROJECT_ID=$1
6+
7+
gsutil -h "Cache-Control:no-cache, max-age=0" cp -r "build/fc/*" "gs://${GCP_PROJECT_ID}-fc-versions"
8+
if [ "$GCP_PROJECT_ID" == "e2b-prod" ]; then
9+
# Upload kernel to GCP public builds bucket
10+
gsutil -h "Cache-Control:no-cache, max-age=0" cp -r "build/fc/*" "gs://${GCP_PROJECT_ID}-public-builds/firecrackers/"
11+
fi
12+
13+
rm -rf build/fc/*

0 commit comments

Comments
 (0)