#local dirs = ['_CI-CD', 'apps']; local dirs = ['apps']; local packages = ['debian-stable', 'debian-stable-build-essential', 'debian-stable-openwrt', 'debian-golang', 'debian-stable-php-fpm', 'debian-testing']; #local packages = ['debian-stable-openwrt']; local apps = ['rompr', 'apt-cacher-ng', 'curl', 'mosquitto', 'mosquitto-prometheus-exporter']; #local apps = ['rompr']; local build(dir, package) = { name: '%(package)s' % { package: package }, image: 'plugins/docker', settings: { context: '%(dir)s/%(package)s' % { dir: dir, package: package }, dockerfile: '%(dir)s/%(package)s/Dockerfile' % { dir: dir, package: package }, registry: 'http://cr.wks', insecure: 'true', purge: 'false', experimental: 'true', tags: ['latest'], repo: 'cr.wks/%(package)s' % { package: package }, cache_from: 'cr.wks/%(package)s:latest' % { package: package }, }, }; [ { kind: 'pipeline', type: 'docker', name: 'Build Changes', platform: { os: 'linux', arch: 'arm64', }, steps: [ { name: 'git log', image: 'cr.wks/debian-testing', commands: [ 'bin/find_changes.sh', 'ls -la' ] }, # [ # build('_CI-CD', app) # for app in packages # ], # [ # build('apps', app) # for app in apps # ] ], }, #{ # kind: 'pipeline', # type: 'docker', # name: '_CI-CD', # platform: { # os: 'linux', # arch: 'arm64', # }, # steps: [ # build('_CI-CD', pkg) # for pkg in packages # ], # }, { kind: 'pipeline', type: 'docker', name: 'apps', platform: { os: 'linux', arch: 'arm64', }, steps: [ build('apps', app) for app in apps ], }, ]