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 "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_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_checksum" { default = "7e53a46aab92051d523d7283c080532bebb52ce86758629bf1951be9b4b0560f" }
|
||||||
|
variable "image_size" { default = "20G" }
|
||||||
|
|
||||||
source "arm" "raspiblitz-arm64-rpi" {
|
source "arm" "raspiblitz-arm64-rpi" {
|
||||||
file_checksum_type = "sha256"
|
file_checksum_type = "sha256"
|
||||||
|
@ -29,7 +30,7 @@ source "arm" "raspiblitz-arm64-rpi" {
|
||||||
type = "83"
|
type = "83"
|
||||||
}
|
}
|
||||||
image_path = "raspiblitz-arm64-rpi-${var.pack}.img"
|
image_path = "raspiblitz-arm64-rpi-${var.pack}.img"
|
||||||
image_size = "28G"
|
image_size = var.image_size
|
||||||
image_type = "dos"
|
image_type = "dos"
|
||||||
qemu_binary_destination_path = "/usr/bin/qemu-arm-static"
|
qemu_binary_destination_path = "/usr/bin/qemu-arm-static"
|
||||||
qemu_binary_source_path = "/usr/bin/qemu-arm-static"
|
qemu_binary_source_path = "/usr/bin/qemu-arm-static"
|
||||||
|
@ -68,4 +69,10 @@ build {
|
||||||
"echo 'OK'",
|
"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"
|
params[desktop]="$2"
|
||||||
shift 2
|
shift 2
|
||||||
;;
|
;;
|
||||||
|
--image_size)
|
||||||
|
params[image_size]="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
--)
|
--)
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
|
|
Loading…
Add table
Reference in a new issue