Compare commits

...

29 Commits

Author SHA1 Message Date
Jason T. Greene 93fe71a1ed fix path
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-14 04:56:59 -05:00
Jason T. Greene 6cc1e0748f bump vm 2024-03-14 04:42:21 -05:00
Jason T. Greene 10d765d795 Update image suffix
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-13 22:05:27 -05:00
Jason T. Greene 947484cdc6 Update to Fedora 39
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-12-08 19:22:01 -06:00
Jason T. Greene 356f7902bc Update to F38
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-06 17:15:41 -05:00
Jason T. Greene 43544bc4c8 Better update progress
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-06 17:07:09 -05:00
Jason T. Greene 4fd151c68e Switch to EC2
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-06 16:59:39 -05:00
Jason T. Greene 8136b69e89
Use arm64 on GCE 2023-09-06 15:15:42 -05:00
Jason T. Greene 1ae65df20a
Merge pull request #5 from n1hility/fedora-host
Switch to GCE instance and fedora host
2023-09-06 14:13:39 -05:00
Jason T. Greene 7632e575d2 Switch to GCE instance and fedora host
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-09-06 14:12:58 -05:00
Jason T. Greene e5009d88dc
Merge pull request #4 from benoitf/GH-16930
feat: add wasm runtime inside the image
2023-09-05 07:08:03 -05:00
Florent Benoit 2f9e713276 feat: add wasm runtime inside the image
related to https://github.com/containers/podman/issues/16930

Signed-off-by: Florent Benoit <fbenoit@redhat.com>
2023-09-04 15:40:56 +02:00
Jason T. Greene 8c91ee0b22
Merge pull request #3 from n1hility/add-iproute
Add iproute and dhcp-client
2023-04-18 16:42:04 -05:00
Jason T. Greene 6617f1cfe3
Add iproute and dhcp-client 2023-04-18 16:41:47 -05:00
Jason T. Greene 8aa397b796
Merge pull request #2 from n1hility/add-gvproxy-vm
Add gvproxy vm to build
2023-04-18 15:34:13 -05:00
Jason T. Greene 159fa9f4fe Add gvproxy vm to build
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-04-18 15:33:40 -05:00
Jason T. Greene ed3b85289a
Bump to F37 2023-01-07 01:00:47 -06:00
Jason T. Greene ce2d244067
Fix release title to version to prevent commit message text 2023-01-07 00:56:10 -06:00
Jason T. Greene e23ba68fa9
Fix missing shasum
Recent updates of the system image are missing the perl sha package which provided shasum. Instead use sha256sum which is provided by coreutils
2023-01-07 00:46:11 -06:00
Jason T. Greene bc91bb292e
Merge pull request #1 from benoitf/add-checksum
chore: add checksum for the rootfs.tar.xz generated file
2023-01-04 10:09:31 -06:00
Florent Benoit d191affdec chore: add checksum for the rootfs.tar.xz generated file
Change-Id: Ifc0bd51500fc1d89e6b0c89ad00d0b0eaaa581ee
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
2023-01-04 17:03:37 +01:00
Jason T. Greene 2098898629
Consider all http failures transient 2023-01-04 08:02:17 -06:00
Jason T. Greene b9b3c25495
Github content requests occasionally RSTs (usually early morning)
Add retries to fetching
2023-01-03 08:48:14 -06:00
Jason T. Greene ea403782ba Add workflow for failures 2022-12-23 01:21:25 -06:00
Jason T. Greene 84f7d97e0f Switch to compound 2022-12-23 01:01:42 -06:00
Jason T. Greene d6a2a115dc Only build on branch builds 2022-12-23 00:42:32 -06:00
Jason T. Greene de8f765a93 Add more info 2022-12-23 00:26:38 -06:00
Jason T. Greene f3cd864872 Add actions workflow to report build failures 2022-12-22 23:44:40 -06:00
Jason T. Greene dbb49dac3b Remove debugging, add better output logging 2022-12-22 23:43:19 -06:00
2 changed files with 67 additions and 18 deletions

View File

@ -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_CRON == 'hourly'
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,8 @@ 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
podman create --name fedora-update fedora-update sleep 7200
@ -58,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
@ -69,22 +72,39 @@ 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
echo "Skipping archive, no updates required"
exit
fi
echo "Creating rootfs.tar from container..."
podman export --output rootfs.tar fedora-update
# GNu tar has a corruption bugs with --delete, so use bsdtar to filter instead
echo "Filtering rootfs.tar using container..."
podman run -v .:/mnt --security-opt label=disable fedora sh -c 'dnf -y install bsdtar && bsdtar -cf /mnt/new.tar --exclude etc/resolv.conf @/mnt/rootfs.tar'
mv new.tar rootfs.tar
mkdir -p etc; touch etc/resolv.conf
tar rf rootfs.tar --mode=644 --group=root --owner=root etc/resolv.conf
xz rootfs.tar
echo "Compressing rootfs.tar.."
xz --verbose rootfs.tar
sha256sum rootfs.tar.xz > shasums
echo "Done"
ls -l rootfs.tar.xz
release_script: |
set +o verbose
if [ "$IMAGE_CHANGED" != "1" ] && [ "$PACKAGE_CHANGED" != "1" ]; then
echo "Skipping release, no updates required"
exit
@ -98,7 +118,8 @@ build_task:
fi
NEXT_RELEASE="v${IMAGE_TAG}.0.$((NEXT_RELEASE+1))"
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

28
.github/workflows/email.yml vendored Normal file
View File

@ -0,0 +1,28 @@
on:
check_suite:
type: ['completed']
name: Email about Cirrus CI failures
jobs:
continue:
name: After Cirrus CI Failure
if: >-
github.event.check_suite.app.name == 'Cirrus CI'
&& github.event.check_suite.conclusion != 'success'
&& github.event.check_suite.conclusion != 'cancelled'
runs-on: ubuntu-latest
steps:
- uses: octokit/request-action@v2.x
id: get_failed_check_run
with:
route: GET /repos/${{ github.repository }}/check-suites/${{ github.event.check_suite.id }}/check-runs?status=completed
mediaType: '{"previews": ["antiope"]}'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
echo "Cirrus CI ${{ github.event.check_suite.conclusion }} on ${{ github.event.check_suite.head_branch }} branch!"
echo "SHA ${{ github.event.check_suite.head_sha }}"
echo $MESSAGE
echo "##[error]See $CHECK_RUN_URL for details" && false
env:
CHECK_RUN_URL: ${{ fromJson(steps.get_failed_check_run.outputs.data).check_runs[0].html_url }}