dts-distro.conf: bump to 2.0.0-rc3 #73
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI on push develop tag | |
on: | |
push: | |
tags: | |
- 'v*-rc*' | |
jobs: | |
build: | |
name: Build system image | |
runs-on: | |
labels: dts-builder | |
steps: | |
- name: Checkout meta-dts repo | |
uses: actions/checkout@v2 | |
with: | |
path: "meta-dts" | |
- name: Build DTS image | |
shell: bash | |
id: build_image | |
run: | | |
for attempt in {1..5}; do | |
if kas-container build meta-dts/kas.yml; then | |
echo "Build command succeeded on attempt $attempt" | |
break | |
else | |
echo "Build command failed on attempt $attempt" | |
if [ $attempt -lt 5 ]; then | |
sleep 5 | |
fi | |
fi | |
done | |
continue-on-error: true | |
- name: Report build command | |
run: | | |
if [ ${{ steps.build_image.outcome }} == 'failure' ]; then | |
echo "All build attempts failed." | |
exit 1 | |
else | |
echo "At least one build attempt succeeded." | |
fi | |
deploy-images: | |
name: Deploy DTS artifacts on boot.dasharo.com | |
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }} | |
needs: build | |
runs-on: | |
labels: dts-builder | |
steps: | |
- name: Prepare SSH key | |
shell: bash | |
env: | |
SSH_KEY: ${{secrets.SSH_KEY}} | |
SSH_KEY_GITEA: ${{secrets.SSH_KEY_GITEA}} | |
run: | | |
echo -e ${SSH_KEY} > ~/.ssh/dts-ci-key | |
chmod 600 ~/.ssh/dts-ci-key | |
echo -e ${SSH_KEY_GITEA} > ~/.ssh/gitea-key | |
chmod 600 ~/.ssh/gitea-key | |
cp ~/.ssh/config ~/.ssh/config-old | |
echo -e "\n | |
Host git.3mdeb.com\n | |
HostName git.3mdeb.com\n | |
IdentityFile ~/.ssh/gitea-key\n | |
IdentitiesOnly yes" >> ~/.ssh/config | |
- name: Get DTS version | |
id: dts-ver | |
shell: bash | |
run: | | |
DTS_VER=v`cat meta-dts/meta-dts-distro/conf/distro/dts-distro.conf | grep DISTRO_VERSION | tr -d "\" [A-Z]_="` | |
echo "DTS_VER=${DTS_VER}" >> $GITHUB_OUTPUT | |
- name: Deploy DTS on boot.dasharo.com | |
shell: bash | |
run: | | |
DTS_VER="${{steps.dts-ver.outputs.DTS_VER}}" | |
ssh -i ~/.ssh/dts-ci-key [email protected] "mkdir -p boot/dts/${DTS_VER}" | |
cd build/tmp/deploy/images/genericx86-64/ | |
cp bzImage bzImage-${DTS_VER} | |
cp dts-base-image-genericx86-64.cpio.gz dts-base-image-${DTS_VER}.cpio.gz | |
cp dts-base-image-genericx86-64.wic.gz dts-base-image-${DTS_VER}.wic.gz | |
cp dts-base-image-genericx86-64.wic.bmap dts-base-image-${DTS_VER}.wic.bmap | |
cp dts-base-image-genericx86-64.iso dts-base-image-${DTS_VER}.iso | |
scp -i ~/.ssh/dts-ci-key bzImage-${DTS_VER} [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.cpio.gz [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.wic.gz [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.wic.bmap [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.iso [email protected]:boot/dts/${DTS_VER}/ | |
- name: Deploy sha256 on boot.dasharo.com | |
shell: bash | |
run: | | |
DTS_VER="${{steps.dts-ver.outputs.DTS_VER}}" | |
cd build/tmp/deploy/images/genericx86-64/ | |
sha256sum bzImage-${DTS_VER} > bzImage-${DTS_VER}.sha256 | |
sha256sum dts-base-image-${DTS_VER}.cpio.gz > dts-base-image-${DTS_VER}.cpio.gz.sha256 | |
sha256sum dts-base-image-${DTS_VER}.wic.gz > dts-base-image-${DTS_VER}.wic.gz.sha256 | |
sha256sum dts-base-image-${DTS_VER}.wic.bmap > dts-base-image-${DTS_VER}.wic.bmap.sha256 | |
sha256sum dts-base-image-${DTS_VER}.iso > dts-base-image-${DTS_VER}.iso.sha256 | |
scp -i ~/.ssh/dts-ci-key bzImage-${DTS_VER}.sha256 [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.cpio.gz.sha256 [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.wic.gz.sha256 [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.wic.bmap.sha256 [email protected]:boot/dts/${DTS_VER}/ | |
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.iso.sha256 [email protected]:boot/dts/${DTS_VER}/ | |
- name: Update iPXE menu | |
shell: bash | |
run: | | |
./meta-dts/scripts/generate-ipxe-menu.sh ${{steps.dts-ver.outputs.DTS_VER}} | |
scp -i ~/.ssh/dts-ci-key dts-rc.ipxe [email protected]:boot/dts/ | |
- name: Trigger signing | |
shell: bash | |
run: | | |
DTS_VER="${{steps.dts-ver.outputs.DTS_VER}}" | |
git clone ssh://[email protected]:2222/3mdeb/dts-release-cicd-pipeline.git | |
cd dts-release-cicd-pipeline | |
echo ${DTS_VER} > LATEST_RELEASE | |
git add LATEST_RELEASE | |
git commit -m "Signing release ${DTS_VER}" | |
git push origin main | |
git tag ${DTS_VER} | |
git push origin ${DTS_VER} | |
cd - | |
cleanup: | |
name: Cleanup | |
if: always() | |
needs: deploy-images | |
runs-on: | |
labels: dts-builder | |
steps: | |
- name: Cleanup after deployment | |
shell: bash | |
run: | | |
rm -rf ~/.ssh/dts-ci-key | |
rm -rf dts-release-cicd-pipeline | |
rm -f ~/.ssh/gitea-key | |
rm -rf build | |
rm -f ~/.ssh/config | |
mv ~/.ssh/config-old ~/.ssh/config |