Commit graph

17 commits

Author SHA1 Message Date
autoblitzbot
4e5af9f1a3
fix(ci): make image builds noninteractive (#196)
Some checks are pending
amd64-image-build / amd64-image-build (push) Waiting to run
arm64-rpi-image-build / arm64-rpi-image-build (push) Waiting to run
Packer Syntax Check / Validate Packer Syntax (push) Waiting to run
Test Shellcheck / Run Shellcheck (push) Waiting to run
* fix(ci): make image builds noninteractive

Both image builds fail in packer:

- arm64-rpi: dpkg halts on the interactive initramfs.conf conffile
  prompt (Y/I/N/O/D/Z) during 'apt-get upgrade' kernel configuration,
  then cascades: E: Sub-process /usr/bin/dpkg returned an error code (1)
- amd64: debconf falls back through Dialog/Readline/Teletype frontends
  (no controlling tty) and the build later fails on
  'E: Package netcat has no installation candidate' - the netcat
  metapackage was removed in Debian trixie

Fixes:
- export DEBIAN_FRONTEND=noninteractive and install an apt.conf.d
  dropin with Dpkg::Options --force-confdef/--force-confold so conffile
  prompts resolve to the default action and keep the existing config
  (build_joininbox.sh and the amd64 update.sh kernel upgrade)
- install netcat-openbsd when the netcat metapackage is unavailable

* feat(ci): skip code signature verification on PR builds, label images

PR CI builds pull head commits from forks which are not signed by the
maintainer keys, so the mandatory PGP verification in
build_joininbox.sh fails every PR image build:

  # BUILD FAILED --> PGP verification not OK / signature(0) verify(0)

Behavior after this change:
- pull_request workflow runs pass the PR number through the packer
  build chain (workflow -> build script -> packer var -> provisioner
  env -> JOININBOX_PR_NUMBER)
- build_joininbox.sh skips the source signature verification when
  JOININBOX_PR_NUMBER is set, prints a prominent warning, and labels
  the image in /etc/joininbox-build-info as an UNVERIFIED test build
- the uploaded artifact name carries a -pr<N> suffix via BUILD_VERSION
- push-to-master and workflow_dispatch builds never set the variable,
  so production images keep mandatory verification

* fix(ci): drop apt policy after build, warn on PR images in main menu

- Remove /etc/apt/apt.conf.d/90joininbox-noninteractive at the end of
  build_joininbox.sh: the noninteractive dpkg conffile policy is a
  build-time measure and must not ship in deployed images, where
  interactive conffile handling is the default again
- Show '!!! UNVERIFIED PR BUILD #<N> - TESTING ONLY !!!' on top of the
  main menu whenever /etc/joininbox-build-info is present, so a flashed
  PR image cannot be mistaken for a production build

---------

Co-authored-by: autoblitzbot <autoblitzbot@users.noreply.github.com>
2026-08-15 07:31:05 +02:00
openoms
16fc83f47d
chore: migrate the watch-only Bitcoin Core wallet to use descriptors (#177)
Some checks failed
amd64-image-build / amd64-image-build (push) Has been cancelled
arm64-rpi-image-build / arm64-rpi-image-build (push) Has been cancelled
Test Shellcheck / Run Shellcheck (push) Has been cancelled
* chore: update wallet creation to use watch-only-descriptor-wallet

* remove duplicate version check

* fix: update release URL in install script and correct typo in wallet import message

* ci: test amd64 image descriptor wallet migration with Bats

* ci: boot amd64 image tests with OVMF pflash

* fix: gate descriptor wallet migration on Bitcoin Core v30

Detect the connected Bitcoin Core version over RPC before migrating.
Keep wallet.dat for v29.x or when the version cannot be determined.

Add regression coverage for both migration and compatibility paths.

* ci: make amd64 image tests independent of guest apt

Inject a pinned bats-core checkout into the temporary VM instead of
installing Bats through the guest package repositories.

Remove the duplicate pull request trigger and simplify artifact lookup.

* ci: harden image build run

* docs(FAQ): how automatic migration works
2026-08-13 11:57:42 +02:00
openoms
efdf660969
fix(build): use rolling Debian ISO, verify ISO checksum with PGP, add packer syntax checks (#181) 2026-03-29 15:31:05 +02:00
openoms
e69d6006a4
feat: add shellcheck test to github actions (#174)
* feat: add shellcheck test to github actions
* fix: shellcheck errors
2025-06-06 23:10:54 +02:00
openoms
304144e881
amd64 and arm64 base image updates (#167)
* amd64 base image update to debian-12.11.0-amd64-netinst.iso

* chore: update actions/upload-artifact to v4

* chore: build arm64-rpi on raspios_lite_arm64 only
2025-05-26 20:03:49 +02:00
openoms
19ffa45e66
add 64bit Raspberry Pi OS Lite base image for RPi5 (#161) 2025-01-13 23:37:24 +01:00
openoms
c240ba2885
build: update to Debian 12.2.0, create home folders as 0755 (#139)
* build: create home folders as 0755 on Debian 12
* build: add bash
* fix: add  --shell /bin/bash  to user creation
* copy the skeleton files for users with login
* update workflows
* jam-remote update to v0.1.6
* amd64 image update to debian-12.2.0, clean vars
2023-10-23 09:28:35 +02:00
openoms
709ea134dc
fix typos and add spelling (#136)
* chore: fix typos
* ci: add spelling gh action
* chore: fix false positives
2023-07-23 08:35:04 +02:00
openoms
69fe9bd32d
ci: remove ssh host keys only once 2023-01-19 07:12:59 +00:00
openoms
2f69a7b829
ci: fix amd64 image filenames 2022-12-24 18:19:41 +01:00
openoms
a59ddc58e5
ci: update debian base image to 11.6.0 2022-12-18 18:52:59 +01:00
openoms
6028c485d2
build with the latest commit from master with ubuntu-22.04 (#107)
* contain verification in the build script
* build with the latest commit
* build with ubuntu-22.04
* fix bootstrap.sh path
2022-12-16 13:27:12 +00:00
openoms
890f702c04
add amd64 image build (#104)
* add amd64 image build
* add bootstrap.service to always prepare ssh
* add Makefile
* pass GITHUB_ACTOR GITHUB_HEAD_REF to the build
* download the build script from PR branch
* output amd64 images to ci/amd64/builds
2022-12-06 23:14:06 +00:00
openoms
e11f677c70
fix arm64 build (#103)
* add Makefile

* Add setup-qemu step, switch to qemu-aarch64-static, use packer-builder-arm:1.0.4 (#106)
* Use mkaczanowski/packer-builder-arm:1.0.4
* Switch to qemu-aarch64-static
* Setup qemu before build

* pass github_user and branch to build script
* update .gitignore

Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
2022-12-06 14:23:12 +00:00
openoms
ee21910681
Install Jam on a linux desktop and connect to a remote Joininbox (#99)
* add files to install jam to connect remotely
* update jam and nginx conf
* use ${USERNAME} consistently
* jam update to v0.1.1
* use dergigi's pubkey to verify
* docs update
2022-10-09 13:29:20 +01:00
openoms
8b4d8585f5
ci: build image from the master branch 2022-08-23 08:51:29 +01:00
openoms
0dcdf08839
Generate images for arm64-rpi with Packer (#89)
* add joininbox-image build workflow
* force progress bar for wget download
* don't test tor in github actions
* use 20220121_raspi_4_bullseye, enable ssh
* use 8GB image
* update nameserver
* remove raspi-config from packages
* preinstall sudo and wget only
* reorganise python deps
* --progress=bar:force
* reorganise deps
* add lsb-release
* apt-get everywhere, remove outdated manual guide
* build arm64-rpi image only
* Generate image checksum in github script (#92)
* use gzip for compression
* update the readme

Co-authored-by: m00ninite <80651189+m00ninite@users.noreply.github.com>
2022-08-07 18:36:07 +01:00