diff --git a/build.sh b/build.sh index 7c819b4..fcd24e2 100755 --- a/build.sh +++ b/build.sh @@ -9,4 +9,5 @@ RELEASE_DIR=/var/www/releases.peachcloud.org/html/peach-imgs/$TODAY echo "++ successful image build, copying output to ${RELEASE_DIR}" mkdir -p $RELEASE_DIR cp raspi_3.img $RELEASE_DIR/${TODAY}_peach_raspi3.img +cp peach-img-manifest.log $RELEASE_DIR/${TODAY}_img_manifest.log cp raspi_3.log $RELEASE_DIR/${TODAY}_peach_raspi3.log \ No newline at end of file diff --git a/build_img.py b/build_img.py index 5811b0b..06618a3 100644 --- a/build_img.py +++ b/build_img.py @@ -29,7 +29,6 @@ def render_template(src, dest, template_vars=None): with open(dest, 'w') as f: f.write(output_text) - # remove old files os.remove(os.path.join(PROJECT_PATH, 'raspi_3.img')) os.remove(os.path.join(PROJECT_PATH, 'raspi_3.log')) @@ -37,13 +36,14 @@ os.remove(os.path.join(PROJECT_PATH, 'raspi_3.log')) # build img subprocess.check_call(['make', 'raspi_3.img']) -# copy image and log to releases dir +# create releases dir today = date.today() today_str = "{}{}{}".format(today.year, today.month, today.day) release_dir = "/var/www/releases.peachcloud.org/html/peach-imgs/{}".format(today_str) -print("++ successful image build, copying output to {}", release_dir) - os.makedirs(release_dir) + +# copy image and log to releases dir +print("++ successful image build, copying output to {}", release_dir) img_path = os.path.join(PROJECT_PATH, 'raspi_3.img') log_path = os.path.join(PROJECT_PATH, 'raspi_3.log') release_img_name = "{}_peach_raspi3.img".format(today_str) @@ -53,7 +53,6 @@ log_release_path = os.path.join(release_dir, release_log_name) subprocess.check_call(['cp', img_path, img_release_path]) subprocess.check_call(['cp', log_path, log_release_path]) - # rebuild release index.html release_index_path = "/var/www/releases.peachcloud.org/html/index.html" release_img_url = img_release_path.replace('/var/www/releases.peachcloud.org/html/', '/') diff --git a/raspi_master.yaml b/raspi_master.yaml index 06f9225..25845eb 100644 --- a/raspi_master.yaml +++ b/raspi_master.yaml @@ -136,14 +136,30 @@ steps: - apt: install packages: - git - - python + - python3 + - python3-pip - wget + - gnupg2 tag: / - chroot: / shell: | - git clone -b dev https://github.com/peachcloud/peach-config.git /srv/peach-config - cd /srv/peach-config/ && python3 /srv/peach-config/scripts/setup_dev_env.py -i -n -d peach + pip3 install setuptools + echo "deb http://apt.peachcloud.org/ buster main" > /etc/apt/sources.list.d/peach.list + wget -O /tmp/pubkey.gpg http://apt.peachcloud.org/pubkey.gpg + apt-key add /tmp/pubkey.gpg + apt-get update + apt-get install -y python3-peach-config + /usr/bin/peach-config -i -n -d peach + + # lastly log which versions of microservices were installed and copy the provenance to the host machine + - chroot: / + shell: | + apt list --installed | grep peach > /srv/peach-img-manifest.log + + - shell: | + cp "${ROOT?}/srv/peach-img-manifest.log" /srv/peachcloud/automation/peach-img-builder/peach-img-manifest.log + root-fs: / # END OF PEACH CONFIG