From 8a14198e83bb0f9d4229a9e3b99df556afd53bc1 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Wed, 17 Feb 2021 23:21:42 +0000 Subject: [PATCH] Add plain-binaries project --- .cirrus.yml | 84 ++++++++++++++++++++++++++++++++++ Makefile | 30 ++++-------- projects/plain-binaries/build | 15 ++++++ projects/plain-binaries/config | 15 ++++++ tools/cirrus_gen_yml.sh | 2 +- 5 files changed, 125 insertions(+), 21 deletions(-) create mode 100644 projects/plain-binaries/build create mode 100644 projects/plain-binaries/config diff --git a/.cirrus.yml b/.cirrus.yml index c1dcb84..d9f63ec 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -101,6 +101,27 @@ release_linux_x86_64_ncprop279_docker_builder: depends_on: - "release_linux_x86_64_ncp11" +release_linux_x86_64_plain-binaries_docker_builder: + timeout_in: 120m + out_release_linux_x86_64_cache: + folder: out + fingerprint_script: + - "echo out_release_linux_x86_64" + reupload_on_changes: true + populate_script: + - "mkdir -p out" + git_release_linux_x86_64_cache: + folder: git_clones + fingerprint_script: + - "echo git_release_linux_x86_64" + reupload_on_changes: true + populate_script: + - "mkdir -p git_clones" + build_script: + - "./tools/cirrus_build_project.sh plain-binaries release linux x86_64 1" + depends_on: + - "release_linux_x86_64_ncprop279" + release_linux_i686_download_docker_builder: timeout_in: 120m out_release_linux_i686_cache: @@ -204,6 +225,27 @@ release_linux_i686_ncprop279_docker_builder: depends_on: - "release_linux_i686_ncp11" +release_linux_i686_plain-binaries_docker_builder: + timeout_in: 120m + out_release_linux_i686_cache: + folder: out + fingerprint_script: + - "echo out_release_linux_i686" + reupload_on_changes: true + populate_script: + - "mkdir -p out" + git_release_linux_i686_cache: + folder: git_clones + fingerprint_script: + - "echo git_release_linux_i686" + reupload_on_changes: true + populate_script: + - "mkdir -p git_clones" + build_script: + - "./tools/cirrus_build_project.sh plain-binaries release linux i686 1" + depends_on: + - "release_linux_i686_ncprop279" + release_windows_x86_64_download_docker_builder: timeout_in: 120m out_release_windows_x86_64_cache: @@ -307,6 +349,27 @@ release_windows_x86_64_ncprop279_docker_builder: depends_on: - "release_windows_x86_64_ncp11" +release_windows_x86_64_plain-binaries_docker_builder: + timeout_in: 120m + out_release_windows_x86_64_cache: + folder: out + fingerprint_script: + - "echo out_release_windows_x86_64" + reupload_on_changes: true + populate_script: + - "mkdir -p out" + git_release_windows_x86_64_cache: + folder: git_clones + fingerprint_script: + - "echo git_release_windows_x86_64" + reupload_on_changes: true + populate_script: + - "mkdir -p git_clones" + build_script: + - "./tools/cirrus_build_project.sh plain-binaries release windows x86_64 1" + depends_on: + - "release_windows_x86_64_ncprop279" + release_windows_i686_download_docker_builder: timeout_in: 120m out_release_windows_i686_cache: @@ -410,3 +473,24 @@ release_windows_i686_ncprop279_docker_builder: depends_on: - "release_windows_i686_ncp11" +release_windows_i686_plain-binaries_docker_builder: + timeout_in: 120m + out_release_windows_i686_cache: + folder: out + fingerprint_script: + - "echo out_release_windows_i686" + reupload_on_changes: true + populate_script: + - "mkdir -p out" + git_release_windows_i686_cache: + folder: git_clones + fingerprint_script: + - "echo git_release_windows_i686" + reupload_on_changes: true + populate_script: + - "mkdir -p git_clones" + build_script: + - "./tools/cirrus_build_project.sh plain-binaries release windows i686 1" + depends_on: + - "release_windows_i686_ncprop279" + diff --git a/Makefile b/Makefile index b240683..9408170 100644 --- a/Makefile +++ b/Makefile @@ -4,59 +4,49 @@ all: release # TODO: Replace the Makefile-based metatarget with an rbm-based one. release: submodule-update release-linux-x86_64 release-linux-i686 release-windows-x86_64 release-windows-i686 release-osx-x86_64 - #$(rbm) build ncdns --target release --target ncdns-all + #$(rbm) build plain-binaries --target release --target ncdns-all release-android-armv7: submodule-update - $(rbm) build ncdns --target release --target ncdns-android-armv7 + $(rbm) build plain-binaries --target release --target ncdns-android-armv7 release-android-x86: submodule-update - $(rbm) build ncdns --target release --target ncdns-android-x86 + $(rbm) build plain-binaries --target release --target ncdns-android-x86 release-android-x86_64: submodule-update - $(rbm) build ncdns --target release --target ncdns-android-x86_64 + $(rbm) build plain-binaries --target release --target ncdns-android-x86_64 release-android-aarch64: submodule-update - $(rbm) build ncdns --target release --target ncdns-android-aarch64 + $(rbm) build plain-binaries --target release --target ncdns-android-aarch64 release-linux-x86_64: submodule-update $(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-linux-x86_64 $(rbm) build dnssec-hsts --target release --target ncdns-linux-x86_64 $(rbm) build dnssec-hsts-native --target release --target ncdns-linux-x86_64 - $(rbm) build ncdns --target release --target ncdns-linux-x86_64 - $(rbm) build ncp11 --target release --target ncdns-linux-x86_64 - $(rbm) build ncprop279 --target release --target ncdns-linux-x86_64 + $(rbm) build plain-binaries --target release --target ncdns-linux-x86_64 release-linux-i686: submodule-update $(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-linux-i686 $(rbm) build dnssec-hsts --target release --target ncdns-linux-i686 $(rbm) build dnssec-hsts-native --target release --target ncdns-linux-i686 - $(rbm) build ncdns --target release --target ncdns-linux-i686 - $(rbm) build ncp11 --target release --target ncdns-linux-i686 - $(rbm) build ncprop279 --target release --target ncdns-linux-i686 + $(rbm) build plain-binaries --target release --target ncdns-linux-i686 release-windows-i686: submodule-update $(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-windows-i686 $(rbm) build dnssec-hsts --target release --target ncdns-windows-i686 $(rbm) build dnssec-hsts-native --target release --target ncdns-windows-i686 - $(rbm) build ncdns --target release --target ncdns-windows-i686 - $(rbm) build ncp11 --target release --target ncdns-windows-i686 - $(rbm) build ncprop279 --target release --target ncdns-windows-i686 + $(rbm) build plain-binaries --target release --target ncdns-windows-i686 release-windows-x86_64: submodule-update $(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-windows-x86_64 $(rbm) build dnssec-hsts --target release --target ncdns-windows-x86_64 $(rbm) build dnssec-hsts-native --target release --target ncdns-windows-x86_64 - $(rbm) build ncdns --target release --target ncdns-windows-x86_64 - $(rbm) build ncp11 --target release --target ncdns-windows-x86_64 - $(rbm) build ncprop279 --target release --target ncdns-windows-x86_64 + $(rbm) build plain-binaries --target release --target ncdns-windows-x86_64 release-osx-x86_64: submodule-update $(rbm) build certdehydrate-dane-rest-api --target release --target ncdns-osx-x86_64 $(rbm) build dnssec-hsts --target release --target ncdns-osx-x86_64 $(rbm) build dnssec-hsts-native --target release --target ncdns-osx-x86_64 - $(rbm) build ncdns --target release --target ncdns-osx-x86_64 - $(rbm) build ncp11 --target release --target ncdns-osx-x86_64 - $(rbm) build ncprop279 --target release --target ncdns-osx-x86_64 + $(rbm) build plain-binaries --target release --target ncdns-osx-x86_64 submodule-update: ./setup-submodule-symlinks diff --git a/projects/plain-binaries/build b/projects/plain-binaries/build new file mode 100644 index 0000000..649ce69 --- /dev/null +++ b/projects/plain-binaries/build @@ -0,0 +1,15 @@ +#!/bin/bash +[% c("var/set_default_env") -%] + +distdir=/var/tmp/dist/[% project %] +mkdir -p $distdir + +tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncdns') %] +tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncp11') %] +tar -C /var/tmp/dist/[% project %] -xf [% c('input_files_by_name/ncprop279') %] + +cd $distdir +[% c('tar', { + tar_src => [ '.' ], + tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'), + }) %] diff --git a/projects/plain-binaries/config b/projects/plain-binaries/config new file mode 100644 index 0000000..8f54a05 --- /dev/null +++ b/projects/plain-binaries/config @@ -0,0 +1,15 @@ +version: '[% c("var/ncdns_version") %]' +filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz' + +var: + container: + use_container: 1 + +input_files: + - project: container-image + - name: ncdns + project: ncdns + - name: ncp11 + project: ncp11 + - name: ncprop279 + project: ncprop279 diff --git a/tools/cirrus_gen_yml.sh b/tools/cirrus_gen_yml.sh index 39f2fc6..90cf27b 100755 --- a/tools/cirrus_gen_yml.sh +++ b/tools/cirrus_gen_yml.sh @@ -29,7 +29,7 @@ print_os_arch () { echo "" # TODO fine-tune this list - for PROJECT in goeasyconfig ncdns ncp11 ncprop279; do + for PROJECT in goeasyconfig ncdns ncp11 ncprop279 plain-binaries; do echo "${CHANNEL}_${OS}_${ARCH}_${PROJECT}_docker_builder: timeout_in: 120m out_${CHANNEL}_${OS}_${ARCH}_cache: