Initial commit

Dustin 2025-08-17 21:48:14 -05:00
commit 9705d1d742
7 changed files with 97 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/_build

7
.gitmodules vendored Normal file
View File

@ -0,0 +1,7 @@
[submodule "aimee-os"]
path = aimee-os
url = https://git.pyrocufflink.net/aimeeos/aimee-os
[submodule "buildroot"]
path = buildroot
url = https://gitlab.com/buildroot.org/buildroot.git
branch = 2025.05.x

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
O ?= $(PWD)/_build
DEFCONFIG ?= aimeeos_rpi3_defconfig
AIMEEOS_SRC ?= $(PWD)/aimee-os
BUILDROOT_SRC ?= $(PWD)/buildroot
.PHONY: config
config: $(O)/.config
$(O)/.config:
$(MAKE) \
-C $(BUILDROOT_SRC) \
BR2_EXTERNAL=$(AIMEEOS_SRC) \
BR2_DEFCONFIG=$(DEFCONFIG) \
O=$(O) \
defconfig \
%:
$(MAKE) -C $(O) $@

1
aimee-os Submodule

@ -0,0 +1 @@
Subproject commit f55d50bd60fb3d5ad71e60b0b64fabbc61db1ba1

1
buildroot Submodule

@ -0,0 +1 @@
Subproject commit 00fa6003038b4c4483f52dded1f8b9cf2fa57e5a

50
ci/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,50 @@
pipeline {
parameters {
booleanParam 'CLEAN_BUILD'
}
options {
disableConcurrentBuilds()
}
agent {
kubernetes {
yamlFile 'ci/podTemplate.yaml'
yamlMergeStrategy merge()
workspaceVolume persistentVolumeClaimWorkspaceVolume(
claimName: 'buildroot-airplaypi'
)
defaultContainer 'build'
}
}
stages {
stage('Clean') {
when {
expression {
params.CLEAN_BUILD == 'true'
}
}
steps {
sh 'git clean -fdx'
}
}
stage('Build') {
steps {
sh 'make config'
sh 'make'
}
post {
success {
dir('_build/images') {
archiveArtifacts [
'firmware.img',
'rootfs.squashfs',
'sdcard.img',
].join(',')
}
}
}
}
}
}

17
ci/podTemplate.yaml Normal file
View File

@ -0,0 +1,17 @@
spec:
containers:
- name: build
image: git.pyrocufflink.net/containerimages/buildroot
resources:
limits: &resources
cpu: 6
memory: 12Gi
requests: *resources
volumeMounts:
- mountPath: /etc/ssh/ssh_known_hosts
name: ssh-known-hosts
subPath: ssh_known_hosts
volumes:
- name: ssh-known-hosts
configMap:
name: ssh-known-hosts