mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-28 16:58:03 +01:00
ci: add base image build (#4465)
* ci: add base image build add stop file and --image_size 20G * make /var/cache/raspiblitz world writable for qemu * add stop file to /boot/ --------- Co-authored-by: Christoph Stenglein <christoph@cstenglein.com>
This commit is contained in:
parent
5c8d1da6e5
commit
c4b8ef5586
4 changed files with 105 additions and 106 deletions
93
.github/workflows/arm64-rpi-base-image.yml
vendored
Normal file
93
.github/workflows/arm64-rpi-base-image.yml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
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/config.scripts/bitcoin.install.sh'
|
||||
- 'home.admin/config.scripts/tor.install.sh'
|
||||
- 'home.admin/config.scripts/blitz.i2pd.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.sh'
|
||||
- 'home.admin/config.scripts/blitz.display.sh'
|
||||
- 'ci/arm64-rpi/**'
|
||||
- 'home.admin/config.scripts/bonus.btc-rpc-explorer.sh'
|
||||
- 'home.admin/config.scripts/bonus.btcpayserver.sh'
|
||||
- 'home.admin/config.scripts/bonus.jam.sh'
|
||||
- 'home.admin/config.scripts/bonus.joinmarket.sh'
|
||||
- 'home.admin/config.scripts/bonus.lnbits.sh'
|
||||
- 'home.admin/config.scripts/bonus.mempool.sh'
|
||||
- 'home.admin/config.scripts/bonus.nodejs.sh'
|
||||
- 'home.admin/config.scripts/bonus.rtl.sh'
|
||||
- 'home.admin/config.scripts/bonus.thunderhub.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.api.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.ui'
|
||||
pull_request:
|
||||
branches: ['dev', 'v1.10', 'v1.11']
|
||||
paths:
|
||||
- 'build_sdcard.sh'
|
||||
- 'home.admin/config.scripts/bitcoin.install.sh'
|
||||
- 'home.admin/config.scripts/tor.install.sh'
|
||||
- 'home.admin/config.scripts/blitz.i2pd.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.sh'
|
||||
- 'home.admin/config.scripts/blitz.display.sh'
|
||||
- 'ci/arm64-rpi/**'
|
||||
- 'home.admin/config.scripts/bonus.btc-rpc-explorer.sh'
|
||||
- 'home.admin/config.scripts/bonus.btcpayserver.sh'
|
||||
- 'home.admin/config.scripts/bonus.jam.sh'
|
||||
- 'home.admin/config.scripts/bonus.joinmarket.sh'
|
||||
- 'home.admin/config.scripts/bonus.lnbits.sh'
|
||||
- 'home.admin/config.scripts/bonus.mempool.sh'
|
||||
- 'home.admin/config.scripts/bonus.nodejs.sh'
|
||||
- 'home.admin/config.scripts/bonus.rtl.sh'
|
||||
- 'home.admin/config.scripts/bonus.thunderhub.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.api.sh'
|
||||
- 'home.admin/config.scripts/blitz.web.ui'
|
||||
|
||||
jobs:
|
||||
arm64-rpi-base-image-build:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set values
|
||||
id: set_values
|
||||
run: |
|
||||
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"
|
||||
|
||||
- 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 18G"
|
||||
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 18G
|
||||
|
||||
- name: Calculate the checksum of the raw image
|
||||
run: |
|
||||
cd ci/arm64-rpi
|
||||
sha256sum raspiblitz-arm64-rpi-base.img > raspiblitz-arm64-rpi-base.img.sha256
|
||||
|
||||
- name: Upload the base image and checksum
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: raspiblitz-arm64-rpi-base-image-${{ 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
|
105
.github/workflows/arm64-rpi-fatpack-image.yml
vendored
105
.github/workflows/arm64-rpi-fatpack-image.yml
vendored
|
@ -1,105 +0,0 @@
|
|||
name: arm64-rpi-fatpack-image-build
|
||||
|
||||
concurrency:
|
||||
group: arm64-rpi-fatpack-image-build-${{ github.head_ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
#push:
|
||||
# branches: [ "dev", "v1.10" ]
|
||||
# paths:
|
||||
# - 'build_sdcard.sh'
|
||||
# - 'home.admin/bitcoin.install.sh'
|
||||
# - 'home.admin/lnd.install.sh'
|
||||
# - 'home.admin/cl.install.sh'
|
||||
# - 'home.admin/cl-plugin.cln-grpc.sh'
|
||||
# - 'home.admin/tor.install.sh'
|
||||
# - 'home.admin/blitz.i2pd.sh'
|
||||
# - 'home.admin/blitz.web.sh'
|
||||
# - 'home.admin/bonus.nodejs.sh'
|
||||
# - 'home.admin/bonus.rtl.sh'
|
||||
# - 'home.admin/bonus.btcpayserver.sh'
|
||||
# - 'home.admin/bonus.thunderhub.sh'
|
||||
# - 'home.admin/bonus.jam.sh install'
|
||||
# - 'home.admin/bonus.mempool.sh'
|
||||
# - 'home.admin/blitz.web.api.sh'
|
||||
# - 'home.admin/blitz.web.ui.sh'
|
||||
# - 'home.admin/blitz.display.sh'
|
||||
# - 'ci/arm64-rpi/**'
|
||||
#pull_request:
|
||||
# branches: [ "dev", "v1.10" ]
|
||||
# paths:
|
||||
# - 'build_sdcard.sh'
|
||||
# - 'home.admin/bitcoin.install.sh'
|
||||
# - 'home.admin/lnd.install.sh'
|
||||
# - 'home.admin/cl.install.sh'
|
||||
# - 'home.admin/cl-plugin.cln-grpc.sh'
|
||||
# - 'home.admin/tor.install.sh'
|
||||
# - 'home.admin/blitz.i2pd.sh'
|
||||
# - 'home.admin/blitz.web.sh'
|
||||
# - 'home.admin/bonus.nodejs.sh'
|
||||
# - 'home.admin/bonus.rtl.sh'
|
||||
# - 'home.admin/bonus.btcpayserver.sh'
|
||||
# - 'home.admin/bonus.thunderhub.sh'
|
||||
# - 'home.admin/bonus.jam.sh install'
|
||||
# - 'home.admin/bonus.mempool.sh'
|
||||
# - 'home.admin/blitz.web.api.sh'
|
||||
# - 'home.admin/blitz.web.ui.sh'
|
||||
# - 'home.admin/blitz.display.sh'
|
||||
# - 'ci/amd64/**'
|
||||
|
||||
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-fatpack-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}"
|
||||
|
||||
- name: Run the build script
|
||||
run: |
|
||||
echo "Using the variables: --pack fatpack --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}}"
|
||||
cd ci/arm64-rpi
|
||||
bash packer.build.arm64-rpi.sh --pack fatpack --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}}
|
||||
|
||||
- name: Compute checksum of the raw image
|
||||
run: |
|
||||
cd ci/arm64-rpi
|
||||
sha256sum raspiblitz-arm64-rpi-fatpack.img > raspiblitz-arm64-rpi-fatpack.img.sha256
|
||||
|
||||
- name: Compress image
|
||||
run: |
|
||||
cd ci/arm64-rpi
|
||||
gzip -v9 raspiblitz-arm64-rpi-fatpack.img
|
||||
|
||||
- name: Compute checksum of the compressed image
|
||||
run: |
|
||||
cd ci/arm64-rpi
|
||||
sha256sum raspiblitz-arm64-rpi-fatpack.img.gz > raspiblitz-arm64-rpi-fatpack.img.gz.sha256
|
||||
|
||||
- name: Upload the image and checksums
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: raspiblitz-arm64-fatpack-rpi-image-${{ env.BUILD_DATE }}-${{ env.BUILD_VERSION }}
|
||||
path: |
|
||||
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-fatpack.img.sha256
|
||||
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-fatpack.img.gz
|
||||
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-fatpack.img.gz.sha256
|
|
@ -3,6 +3,7 @@ variable "github_user" { default = "raspiblitz" }
|
|||
variable "branch" { default = "dev" }
|
||||
variable "image_link" { default = "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64.img.xz" }
|
||||
variable "image_checksum" { default = "7e53a46aab92051d523d7283c080532bebb52ce86758629bf1951be9b4b0560f" }
|
||||
variable "image_size" { default = "20G" }
|
||||
|
||||
source "arm" "raspiblitz-arm64-rpi" {
|
||||
file_checksum_type = "sha256"
|
||||
|
@ -29,7 +30,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 +69,10 @@ build {
|
|||
"echo 'OK'",
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
inline = [
|
||||
"if [ \"${var.pack}\" = \"base\" ]; then echo 'Adding stop file to /boot/'; touch /boot/stop; fi"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,6 +45,10 @@ function set_variables() {
|
|||
params[desktop]="$2"
|
||||
shift 2
|
||||
;;
|
||||
--image_size)
|
||||
params[image_size]="$2"
|
||||
shift 2
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
|
|
Loading…
Add table
Reference in a new issue