Compare commits
23 Commits
Author | SHA1 | Date |
---|---|---|
|
93fe71a1ed | |
|
6cc1e0748f | |
|
10d765d795 | |
|
947484cdc6 | |
|
356f7902bc | |
|
43544bc4c8 | |
|
4fd151c68e | |
|
8136b69e89 | |
|
1ae65df20a | |
|
7632e575d2 | |
|
e5009d88dc | |
|
2f9e713276 | |
|
8c91ee0b22 | |
|
6617f1cfe3 | |
|
8aa397b796 | |
|
159fa9f4fe | |
|
ed3b85289a | |
|
ce2d244067 | |
|
e23ba68fa9 | |
|
bc91bb292e | |
|
d191affdec | |
|
2098898629 | |
|
b9b3c25495 |
45
.cirrus.yml
45
.cirrus.yml
|
@ -1,25 +1,27 @@
|
|||
env:
|
||||
IMAGE_TAG: 36
|
||||
IMAGE_TAG: 39
|
||||
GITHUB_SERVER_URL: "https://github.com"
|
||||
CIRRUS_SHELL: bash
|
||||
GH_TOKEN: ENCRYPTED[558ab3342d6dc01817f2cd5c808c1c84f084f8bc991125b8b309e78db686cdbf16e3784200f025ac8b7e8801222e6114]
|
||||
IMAGE_SUFFIX: "c20240227t125812z-f39f38d13"
|
||||
FEDORA_AARCH64_AMI: "fedora-podman-aws-arm64-${IMAGE_SUFFIX}"
|
||||
|
||||
aws_credentials: ENCRYPTED[fe4aa704cf722afa328adce659449b222a8a34d7126a1ff70bb94ef7f5de403d9bf7fc592140dadb5201d26d1fb82fac]
|
||||
|
||||
build_task:
|
||||
alias: 'build'
|
||||
only_if: $CIRRUS_BRANCH == 'main' && $CIRRUS_PR == "" && $CIRRUS_TAG == ""
|
||||
execution_lock: podman-wsl-fedora-arm-serial
|
||||
auto_cancellation: true
|
||||
compute_engine_instance:
|
||||
image_project: rocky-linux-cloud
|
||||
image: family/rocky-linux-9-arm64
|
||||
platform: linux
|
||||
architecture: arm64
|
||||
cpu: 2
|
||||
memory: 4G
|
||||
disk: 100
|
||||
ec2_instance: &standard_build_ec2_aarch64
|
||||
image: ${FEDORA_AARCH64_AMI}
|
||||
type: "t4g.xlarge"
|
||||
region: us-east-1
|
||||
architecture: arm64
|
||||
setup_script: |
|
||||
dnf install 'dnf-command(config-manager)'
|
||||
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
|
||||
dnf -y install gh git podman
|
||||
dnf -y install gh git podman golang
|
||||
get_script: |
|
||||
set +o verbose
|
||||
date >> changes
|
||||
|
@ -27,7 +29,7 @@ build_task:
|
|||
imageDigest=`podman image inspect docker.io/library/fedora:$IMAGE_TAG --format {{.Digest}}`
|
||||
echo $imageDigest > lastimage
|
||||
echo "Fetching $GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/lastimage"
|
||||
lastImage=`curl -L "$GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/lastimage"`
|
||||
lastImage=`curl --retry 5 --retry-delay 8 --retry-all-errors -L "$GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/lastimage"`
|
||||
echo "Digest: $imageDigest"
|
||||
echo "Last: $lastImage"
|
||||
if [ "$lastImage" != "$imageDigest" ]; then
|
||||
|
@ -42,7 +44,7 @@ build_task:
|
|||
exit
|
||||
fi
|
||||
echo "Reusing cached image"
|
||||
curl -L $GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/rootfs.tar.xz --output rootfs.tar.xz
|
||||
curl --retry 5 --retry-delay 8 --retry-all-errors -L $GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/rootfs.tar.xz --output rootfs.tar.xz
|
||||
echo "Extracting rootfs.."
|
||||
unxz rootfs.tar.xz
|
||||
podman import rootfs.tar fedora-update
|
||||
|
@ -59,7 +61,7 @@ build_task:
|
|||
set +o verbose
|
||||
podman start fedora-update
|
||||
podman exec fedora-update sh -c 'rpm -qa --qf "%-30{name} %{version}-%{release}\n" | sort' > pre-update
|
||||
podman exec fedora-update sh -c 'dnf update -y && dnf -y install podman podman-docker procps-ng openssh-server net-tools && dnf clean all && rm -rf /var/cache/yum'
|
||||
podman exec -it fedora-update sh -c 'dnf update -y && dnf -y install podman podman-docker procps-ng openssh-server net-tools iproute dhcp-client crun-wasm wasmedge-rt && dnf clean all && rm -rf /var/cache/yum'
|
||||
podman exec fedora-update sh -c 'rpm -qa --qf "%-30{name} %{version}-%{release}\n" | sort' > post-update
|
||||
|
||||
diff -u pre-update post-update > delta || delta=1
|
||||
|
@ -70,6 +72,18 @@ build_task:
|
|||
echo "\`\`\`" >> changes
|
||||
echo "PACKAGE_CHANGED=1" >> $CIRRUS_ENV
|
||||
fi
|
||||
gvproxy_vm_script: |
|
||||
set +o verbose
|
||||
if [ "$IMAGE_CHANGED" != "1" ] && [ "$PACKAGE_CHANGED" != "1" ]; then
|
||||
echo "Skipping gvproxy vm, no updates required"
|
||||
exit
|
||||
fi
|
||||
git clone https://github.com/containers/gvisor-tap-vsock
|
||||
cd gvisor-tap-vsock
|
||||
git checkout v0.7.3
|
||||
HOME=/root make vm
|
||||
podman cp bin/gvforwarder fedora-update:/usr/local/bin/vm
|
||||
cd ..
|
||||
archive_script: |
|
||||
set +o verbose
|
||||
if [ "$IMAGE_CHANGED" != "1" ] && [ "$PACKAGE_CHANGED" != "1" ]; then
|
||||
|
@ -86,6 +100,7 @@ build_task:
|
|||
tar rf rootfs.tar --mode=644 --group=root --owner=root etc/resolv.conf
|
||||
echo "Compressing rootfs.tar.."
|
||||
xz --verbose rootfs.tar
|
||||
sha256sum rootfs.tar.xz > shasums
|
||||
echo "Done"
|
||||
ls -l rootfs.tar.xz
|
||||
release_script: |
|
||||
|
@ -105,6 +120,6 @@ build_task:
|
|||
echo $NEXT_RELEASE > version
|
||||
echo "Releasing $NEXT_RELEASE"
|
||||
set -o verbose
|
||||
gh release create $NEXT_RELEASE -d -F changes
|
||||
gh release upload $NEXT_RELEASE lastimage rootfs.tar.xz version
|
||||
gh release create $NEXT_RELEASE -t $NEXT_RELEASE -d -F changes
|
||||
gh release upload $NEXT_RELEASE lastimage rootfs.tar.xz shasums version
|
||||
gh release edit $NEXT_RELEASE --draft=false
|
||||
|
|
Loading…
Reference in New Issue