Skip to content

Commit f1250e6

Browse files
committed
feat(cloud-hypervisor): Include cloud-hypervisor binary in release
Include cloud-hypervisor binary to the bundle of the release. Starting with v50.0 Signed-off-by: Charalampos Mainas <charalampos.mainas@gmail.com>
1 parent 61b4dd7 commit f1250e6

3 files changed

Lines changed: 35 additions & 5 deletions

File tree

.github/workflows/provide-artifacts.yaml

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- qemu/**
99
- solo5/**
1010
- firecracker/**
11+
- cloud-hypervisor/**
1112
- virtiofsd/**
1213
push:
1314
branches:
@@ -16,6 +17,7 @@ on:
1617
- qemu/**
1718
- solo5/**
1819
- firecracker/**
20+
- cloud-hypervisor/**
1921
- virtiofsd/**
2022

2123
jobs:
@@ -26,6 +28,7 @@ jobs:
2628
qemu_version: ${{ steps.versions.outputs.qemu_version }}
2729
solo5_version: ${{ steps.versions.outputs.solo5_version }}
2830
firecracker_version: ${{ steps.versions.outputs.firecracker_version }}
31+
cloud-hypervisor_version: ${{ steps.versions.outputs.cloud-hypervisor_version }}
2932
virtiofsd_version: ${{ steps.versions.outputs.virtiofsd_version }}
3033

3134
steps:
@@ -45,14 +48,17 @@ jobs:
4548
QEMU_VERSION="$(cat qemu/VERSION)"
4649
SOLO5_VERSION="$(cat solo5/VERSION)"
4750
FIRECRACKER_VERSION="$(cat firecracker/VERSION)"
51+
CLOUD-HYPERVISOR_VERSION="$(cat cloud-hypervisor/VERSION)"
4852
VIRTIOFSD_VERSION="$(cat virtiofsd/VERSION)"
4953
echo "qemu_version=$QEMU_VERSION" >> $GITHUB_OUTPUT
5054
echo "solo5_version=$SOLO5_VERSION" >> $GITHUB_OUTPUT
5155
echo "firecracker_version=$FIRECRACKER_VERSION" >> $GITHUB_OUTPUT
56+
echo "cloud-hypervisor_version=$CLOUD-HYPERVISOR_VERSION" >> $GITHUB_OUTPUT
5257
echo "virtiofsd_version=$VIRTIOFSD_VERSION" >> $GITHUB_OUTPUT
5358
echo "$QEMU_VERSION"
5459
echo "$SOLO5_VERSION"
5560
echo "$FIRECRACKER_VERSION"
61+
echo "$CLOUD-HYPERVISOR_VERSION"
5662
echo "$VIRTIOFSD_VERSION"
5763
5864
check-release-existence:
@@ -89,7 +95,7 @@ jobs:
8995
id: release
9096
run: |
9197
SHORT_HASH=$(echo ${{ steps.name.outputs.hash }} | cut -c1-5)
92-
echo "name=FC-${{ needs.get-versions.outputs.firecracker_version }}_S5-${{ needs.get-versions.outputs.solo5_version }}_VFS_-${{ needs.get-versions.outputs.virtiofsd_version }}_QM-${{ needs.get-versions.outputs.qemu_version }}-${SHORT_HASH}" >> $GITHUB_OUTPUT
98+
echo "name=FC-${{ needs.get-versions.outputs.firecracker_version }}_CLH-${{ needs.get-versions.outputs.cloud-hypervisor_version }}_S5-${{ needs.get-versions.outputs.solo5_version }}_VFS_-${{ needs.get-versions.outputs.virtiofsd_version }}_QM-${{ needs.get-versions.outputs.qemu_version }}-${SHORT_HASH}" >> $GITHUB_OUTPUT
9399
echo "qemu=${{ needs.get-versions.outputs.qemu_version }}-${SHORT_HASH}" >> $GITHUB_OUTPUT
94100
95101
- name: Check if release exists
@@ -257,10 +263,24 @@ jobs:
257263
mkdir /tmp/fc_arm64
258264
mv release-${{ needs.get-versions.outputs.firecracker_version }}-aarch64/firecracker-${{ needs.get-versions.outputs.firecracker_version }}-aarch64 /tmp/fc_arm64/firecracker
259265
266+
- name: Download Cloud-Hypervisor amd64 binary
267+
run: |
268+
mkdir /tmp/clh_amd64
269+
CLH_RELEASE_URL=https://github.com/cloud-hypervisor/cloud-hypervisor/releases
270+
curl -L -o /tmp/clh_amd64/cloud-hypervisor ${CLH_RELEASE_URL}/download/${{ needs.get-versions.outputs.cloud-hypervisor_version }}/cloud-hypervisor-static
271+
272+
- name: Download Cloud-Hypervisor arm64 binary
273+
run: |
274+
mkdir /tmp/clh_arm64
275+
CLH_RELEASE_URL=https://github.com/cloud-hypervisor/cloud-hypervisor/releases
276+
curl -L -o /tmp/clh_arm64/cloud-hypervisor ${CLH_RELEASE_URL}/download/${{ needs.get-versions.outputs.cloud-hypervisor_version }}/cloud-hypervisor-static-aarch64
277+
260278
- name: Package all artifacts
261279
run: |
262280
chmod +x /tmp/fc_amd64/firecracker
263281
mv /tmp/fc_amd64/firecracker /tmp/qemu_amd64/opt/urunc/bin/
282+
chmod +x /tmp/clh_amd64/cloud-hypervisor
283+
mv /tmp/clh_amd64/cloud-hypervisor /tmp/qemu_amd64/opt/urunc/bin/
264284
chmod +x /tmp/solo5_amd64/solo5-hvt
265285
mv /tmp/solo5_amd64/solo5-hvt /tmp/qemu_amd64/opt/urunc/bin/
266286
chmod +x /tmp/solo5_amd64/solo5-spt
@@ -271,6 +291,8 @@ jobs:
271291
tar -C /tmp/qemu_amd64/opt -czf release-amd64-${{ needs.check-release-existence.outputs.release }}.tar.gz .
272292
chmod +x /tmp/fc_arm64/firecracker
273293
mv /tmp/fc_arm64/firecracker /tmp/qemu_arm64/opt/urunc/bin/
294+
chmod +x /tmp/clh_arm64/cloud-hypervisor
295+
mv /tmp/clh_arm64/cloud-hypervisor /tmp/qemu_arm64/opt/urunc/bin/
274296
chmod +x /tmp/solo5_arm64/solo5-hvt
275297
mv /tmp/solo5_arm64/solo5-hvt /tmp/qemu_arm64/opt/urunc/bin/
276298
chmod +x /tmp/solo5_arm64/solo5-spt
@@ -280,9 +302,10 @@ jobs:
280302
chmod +x /tmp/qemu_arm64/opt/urunc/bin/qemu-system-aarch64
281303
tar -C /tmp/qemu_arm64/opt -czf release-arm64-${{ needs.check-release-existence.outputs.release }}.tar.gz .
282304
echo "This release contains statically-built artifacts for both amd64 and arm64 of the following monitors and tools:" > release_notes.txt
283-
echo "- Qemu: ${{ needs.get-versions.outputs.firecracker_version }}" >> release_notes.txt
305+
echo "- Qemu: ${{ needs.get-versions.outputs.qemu_version }}" >> release_notes.txt
284306
echo "- Solo5(hvt and spt): ${{ needs.get-versions.outputs.solo5_version }}" >> release_notes.txt
285307
echo "- Firecracker: ${{ needs.get-versions.outputs.firecracker_version }}" >> release_notes.txt
308+
echo "- Cloud-Hypervisor: ${{ needs.get-versions.outputs.cloud-hypervisor_version }}" >> release_notes.txt
286309
echo "- Virtiofsd: ${{ needs.get-versions.outputs.virtiofsd_version }}" >> release_notes.txt
287310
echo "" >> release_notes.txt
288311
echo "The hash of the Qemu files is: ${{ needs.check-release-existence.outputs.qemu_hash }}" >> release_notes.txt
@@ -329,10 +352,13 @@ jobs:
329352
330353
FC_RELEASE_URL="https://github.com/firecracker-microvm/firecracker/releases"
331354
FC_LINK="${FC_RELEASE_URL}/download/${{ needs.get-versions.outputs.firecracker_version }}"
355+
CLH_RELEASE_URL=https://github.com/cloud-hypervisor/cloud-hypervisor/releases
356+
CLH_LINK="${CLH_RELEASE_URL}/download/${{ needs.get-versions.outputs.cloud-hypervisor_version }}"
332357
echo "qemu=${QEMU_LINK}" >> $GITHUB_OUTPUT
333358
echo "solo5=${SOLO5_LINK}" >> $GITHUB_OUTPUT
334359
echo "virtiofsd=${VIRTIOFSD_LINK}" >> $GITHUB_OUTPUT
335360
echo "firecracker=${FC_LINK}" >> $GITHUB_OUTPUT
361+
echo "cloud-hypervisor=${CLH_LINK}" >> $GITHUB_OUTPUT
336362
if ${{ needs.check-release-existence.outputs.exists == 'false' }}
337363
then
338364
echo "release=" >> $GITHUB_OUTPUT
@@ -347,6 +373,7 @@ jobs:
347373
SOLO5_TEXT: "Solo5 ${{ needs.build-Solo5-artifacts.outputs.artifact_suffix }}: ${{ steps.links.outputs.solo5 }}"
348374
VFS_TEXT: "Virtiofsd ${{ needs.build-Virtiofsd-artifacts.outputs.artifact_suffix }}: ${{ steps.links.outputs.virtiofsd }}"
349375
FC_TEXT: "Firecracker ${{ needs.get-versions.outputs.firecracker_version }}: ${{ steps.links.outputs.firecracker }}"
376+
CLH_TEXT: "Cloud-Hypervisor ${{ needs.get-versions.outputs.cloud-hypervisor_version }}: ${{ steps.links.outputs.cloud-hypervisor }}"
350377
with:
351378
script: |
352379
const body = `
@@ -355,6 +382,7 @@ jobs:
355382
- ${process.env.SOLO5_TEXT}
356383
- ${process.env.VFS_TEXT}
357384
- ${process.env.FC_TEXT}
385+
- ${process.env.CLH_TEXT}
358386
`;
359387
await github.rest.issues.createComment({
360388
issue_number: context.issue.number,

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The following components are currently supported:
1010

1111
- [**QEMU**](https://www.qemu.org/)
1212
- [**Firecracker**](https://firecracker-microvm.github.io/)
13+
- [**Cloud-Hypervisor**](https://www.cloudhypervisor.org/)
1314
- [**Solo5**](https://github.com/Solo5/solo5)
1415
- [**virtiofsd**](https://gitlab.com/virtio-fs/virtiofsd)
1516

@@ -53,14 +54,14 @@ following configuration files:
5354
Releases follow this naming format:
5455

5556
```
56-
FC-<firecracker_version>_S5-<solo5_version>_VFS-<virtiofsd_version>_QM-<qemu_version>-<qemu_config_and_exclude_files_hash>
57+
FC-<firecracker_version>_CLH-<cloud-hypervisor-version>_S5-<solo5_version>_VFS-<virtiofsd_version>_QM-<qemu_version>-<qemu_config_and_exclude_files_hash>
5758
```
5859

59-
For example `FC-v1.7.0_S5-v0.9.3_VFS_-v1.13.1_QM-v10.1.1-d4dd3` contains
60+
For example `FC-v1.7.0_CLH-v50.0_S5-v0.9.3_VFS_-v1.13.1_QM-v10.1.1-d4dd3` contains
6061
statically built artifacts for:
6162
- Firecracker v1.7.0
63+
- Cloud Hypervisor v50.0
6264
- Solo5 v0.9.3
6365
- Virtiofsd v1.13.1
6466
- Qemu v10.1.1 with a hash generated by the config files and the excluded files
6567
file under Qemu's directory.
66-

cloud-hypervisor/VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v50.0

0 commit comments

Comments
 (0)