Compare commits

..

1 Commits

Author SHA1 Message Date
Jason T. Greene 665a7776ad Add more info 2022-12-23 00:09:57 -06:00
2 changed files with 16 additions and 31 deletions

View File

@ -1,27 +1,25 @@
env: env:
IMAGE_TAG: 39 IMAGE_TAG: 36
GITHUB_SERVER_URL: "https://github.com" GITHUB_SERVER_URL: "https://github.com"
CIRRUS_SHELL: bash CIRRUS_SHELL: bash
GH_TOKEN: ENCRYPTED[558ab3342d6dc01817f2cd5c808c1c84f084f8bc991125b8b309e78db686cdbf16e3784200f025ac8b7e8801222e6114] GH_TOKEN: ENCRYPTED[558ab3342d6dc01817f2cd5c808c1c84f084f8bc991125b8b309e78db686cdbf16e3784200f025ac8b7e8801222e6114]
IMAGE_SUFFIX: "c20240227t125812z-f39f38d13"
FEDORA_AARCH64_AMI: "fedora-podman-aws-arm64-${IMAGE_SUFFIX}"
aws_credentials: ENCRYPTED[fe4aa704cf722afa328adce659449b222a8a34d7126a1ff70bb94ef7f5de403d9bf7fc592140dadb5201d26d1fb82fac]
build_task: build_task:
alias: 'build' alias: 'build'
only_if: $CIRRUS_BRANCH == 'main' && $CIRRUS_PR == "" && $CIRRUS_TAG == "" only_if: $CIRRUS_BRANCH == 'main' || $CIRRUS_CRON == 'hourly'
execution_lock: podman-wsl-fedora-arm-serial execution_lock: podman-wsl-fedora-arm-serial
auto_cancellation: true auto_cancellation: true
ec2_instance: &standard_build_ec2_aarch64 compute_engine_instance:
image: ${FEDORA_AARCH64_AMI} image_project: rocky-linux-cloud
type: "t4g.xlarge" image: family/rocky-linux-9-arm64
region: us-east-1 platform: linux
architecture: arm64 architecture: arm64
cpu: 2
memory: 4G
disk: 100
setup_script: | setup_script: |
dnf install 'dnf-command(config-manager)' dnf install 'dnf-command(config-manager)'
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
dnf -y install gh git podman golang dnf -y install gh git podman
get_script: | get_script: |
set +o verbose set +o verbose
date >> changes date >> changes
@ -29,7 +27,7 @@ build_task:
imageDigest=`podman image inspect docker.io/library/fedora:$IMAGE_TAG --format {{.Digest}}` imageDigest=`podman image inspect docker.io/library/fedora:$IMAGE_TAG --format {{.Digest}}`
echo $imageDigest > lastimage echo $imageDigest > lastimage
echo "Fetching $GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/lastimage" echo "Fetching $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"` lastImage=`curl -L "$GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/lastimage"`
echo "Digest: $imageDigest" echo "Digest: $imageDigest"
echo "Last: $lastImage" echo "Last: $lastImage"
if [ "$lastImage" != "$imageDigest" ]; then if [ "$lastImage" != "$imageDigest" ]; then
@ -44,7 +42,7 @@ build_task:
exit exit
fi fi
echo "Reusing cached image" echo "Reusing cached image"
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 curl -L $GITHUB_SERVER_URL/$CIRRUS_REPO_FULL_NAME/releases/latest/download/rootfs.tar.xz --output rootfs.tar.xz
echo "Extracting rootfs.." echo "Extracting rootfs.."
unxz rootfs.tar.xz unxz rootfs.tar.xz
podman import rootfs.tar fedora-update podman import rootfs.tar fedora-update
@ -61,7 +59,7 @@ build_task:
set +o verbose set +o verbose
podman start fedora-update 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 'rpm -qa --qf "%-30{name} %{version}-%{release}\n" | sort' > pre-update
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 '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 fedora-update sh -c 'rpm -qa --qf "%-30{name} %{version}-%{release}\n" | sort' > post-update 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 diff -u pre-update post-update > delta || delta=1
@ -72,18 +70,6 @@ build_task:
echo "\`\`\`" >> changes echo "\`\`\`" >> changes
echo "PACKAGE_CHANGED=1" >> $CIRRUS_ENV echo "PACKAGE_CHANGED=1" >> $CIRRUS_ENV
fi 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: | archive_script: |
set +o verbose set +o verbose
if [ "$IMAGE_CHANGED" != "1" ] && [ "$PACKAGE_CHANGED" != "1" ]; then if [ "$IMAGE_CHANGED" != "1" ] && [ "$PACKAGE_CHANGED" != "1" ]; then
@ -100,7 +86,6 @@ build_task:
tar rf rootfs.tar --mode=644 --group=root --owner=root etc/resolv.conf tar rf rootfs.tar --mode=644 --group=root --owner=root etc/resolv.conf
echo "Compressing rootfs.tar.." echo "Compressing rootfs.tar.."
xz --verbose rootfs.tar xz --verbose rootfs.tar
sha256sum rootfs.tar.xz > shasums
echo "Done" echo "Done"
ls -l rootfs.tar.xz ls -l rootfs.tar.xz
release_script: | release_script: |
@ -120,6 +105,6 @@ build_task:
echo $NEXT_RELEASE > version echo $NEXT_RELEASE > version
echo "Releasing $NEXT_RELEASE" echo "Releasing $NEXT_RELEASE"
set -o verbose set -o verbose
gh release create $NEXT_RELEASE -t $NEXT_RELEASE -d -F changes gh release create $NEXT_RELEASE -d -F changes
gh release upload $NEXT_RELEASE lastimage rootfs.tar.xz shasums version gh release upload $NEXT_RELEASE lastimage rootfs.tar.xz version
gh release edit $NEXT_RELEASE --draft=false gh release edit $NEXT_RELEASE --draft=false