ci: add base image build

add stop file and --image_size 20G
This commit is contained in:
openoms 2024-03-10 21:34:44 +01:00
parent e4cf6d294a
commit 65540e1e5f
No known key found for this signature in database
GPG Key ID: 5BFB77609B081B65
3 changed files with 94 additions and 1 deletions

View File

@ -0,0 +1,83 @@
name: arm64-rpi-base-image-build
concurrency:
group: arm64-rpi-base-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10', 'v1.11']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/arm64-rpi/**'
pull_request:
branches: ['dev', 'v1.10', 'v1.11']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/arm64-rpi/**'
jobs:
arm64-rpi-image-build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-arm64-rpi-base-image-${{ env.BUILD_DATE }}-${{ env.BUILD_VERSION }}"
- name: Run the build script
run: |
echo "Using the variables: --pack base --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --image_size 20G"
cd ci/arm64-rpi
bash packer.build.arm64-rpi.sh --pack base --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --image_size 20G
- name: Compute checksum of the raw image
run: |
cd ci/arm64-rpi
sha256sum raspiblitz-arm64-rpi-base.img > raspiblitz-arm64-rpi-base.img.sha256
- name: Compress image
run: |
cd ci/arm64-rpi
gzip -v9 raspiblitz-arm64-rpi-base.img
- name: Compute checksum of the compressed image
run: |
cd ci/arm64-rpi
sha256sum raspiblitz-arm64-rpi-base.img.gz > raspiblitz-arm64-rpi-base.img.gz.sha256
- name: Upload the image and checksums
uses: actions/upload-artifact@v4
with:
name: raspiblitz-arm64-rpi-image-${{ env.BUILD_DATE }}-${{ env.BUILD_VERSION }}
path: |
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-base.img.sha256
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-base.img.gz
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-base.img.gz.sha256

View File

@ -29,7 +29,7 @@ source "arm" "raspiblitz-arm64-rpi" {
type = "83"
}
image_path = "raspiblitz-arm64-rpi-${var.pack}.img"
image_size = "28G"
image_size = var.image_size
image_type = "dos"
qemu_binary_destination_path = "/usr/bin/qemu-arm-static"
qemu_binary_source_path = "/usr/bin/qemu-arm-static"
@ -68,4 +68,10 @@ build {
"echo 'OK'",
]
}
provisioner "shell" {
inline = [
"if [ \"${var.pack}\" = \"base\" ]; then echo 'Adding stop file to /boot/firmware/'; touch /boot/firmware/stop; fi"
]
}
}

View File

@ -45,6 +45,10 @@ function set_variables() {
params[desktop]="$2"
shift 2
;;
--image_size)
params[image_size]="$2"
shift 2
;;
--)
shift
break