Skip to content

Commit

Permalink
build: extract ISO image from build/manifest.json
Browse files Browse the repository at this point in the history
  • Loading branch information
c-po committed Dec 31, 2024
1 parent a64dacd commit 4d90d4b
Showing 1 changed file with 37 additions and 26 deletions.
63 changes: 37 additions & 26 deletions .github/workflows/nightly-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,21 +113,23 @@ jobs:
--vyos-mirror $VYOS_MIRROR \
generic
# move artifact one level up for minisign
mv build/vyos-${{ steps.set_env_variables.outputs.build_version }}-generic-amd64.iso ..
- name: Sign generic ISO image
shell: bash
run: |
echo "${{ secrets.minisign_private_key }}" > /tmp/minisign.key
echo ${{ secrets.minisign_password }} | $GITHUB_WORKSPACE/bin/minisign -s /tmp/minisign.key -Sm vyos-${{ steps.set_env_variables.outputs.build_version }}-generic-amd64.iso
cd build
ls -al .
GENERIC_IMAGE_NAME=$(jq --raw-output .artifacts[0] manifest.json | sed -e 's/.iso//')
GENERIC_IMAGE_ISO=$(jq --raw-output .artifacts[0] manifest.json)
echo "generic_image_iso=${GENERIC_IMAGE_ISO}" >> $GITHUB_OUTPUT
echo "generic_image_name=${GENERIC_IMAGE_NAME}" >> $GITHUB_OUTPUT
# Sign build artifact
echo "${{ secrets.minisign_public_key }}" > /tmp/minisign.pub
$GITHUB_WORKSPACE/bin/minisign -Vm vyos-${{ steps.set_env_variables.outputs.build_version }}-generic-amd64.iso -x vyos-${{ steps.set_env_variables.outputs.build_version }}-generic-amd64.iso.minisig -p /tmp/minisign.pub
rm /tmp/minisign.key /tmp/minisign.pub
echo "${{ secrets.minisign_private_key }}" > /tmp/minisign.key
echo "${{ secrets.minisign_password }}" | $GITHUB_WORKSPACE/bin/minisign -s /tmp/minisign.key -Sm ${GENERIC_IMAGE_ISO}
$GITHUB_WORKSPACE/bin/minisign -Vm ${GENERIC_IMAGE_ISO} -x ${GENERIC_IMAGE_ISO}.minisig -p /tmp/minisign.pub
rm -f /tmp/minisign.key /tmp/minisign.pub
- uses: actions/upload-artifact@v4
with:
name: vyos-${{ steps.set_env_variables.outputs.build_version }}-generic-amd64
path: vyos-${{ steps.set_env_variables.outputs.build_version }}-*
name: ${{ steps.build_generic_iso.outputs.generic_image_name }}
path: build/${{ steps.build_generic_iso.outputs.generic_image_iso }}*
retention-days: 30
if-no-files-found: error

Expand All @@ -146,14 +148,14 @@ jobs:
repository: vyos/vyos-build
- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}
path: build
- name: VyOS CLI smoketests (no interfaces)
id: test
shell: bash
run: |
set -e
ln -s vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso build/live-image-amd64.hybrid.iso
ln -s ${{ needs.build_iso.outputs.generic_image_iso }} build/live-image-amd64.hybrid.iso
sudo make test-no-interfaces | tee smoketest_make_test_no_interfaces.log
- uses: actions/upload-artifact@v4
with:
Expand All @@ -177,14 +179,14 @@ jobs:
repository: vyos/vyos-build
- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}
path: build
- name: VyOS CLI smoketests (interfaces only)
id: test
shell: bash
run: |
set -e
ln -s vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso build/live-image-amd64.hybrid.iso
ln -s ${{ needs.build_iso.outputs.generic_image_iso }} build/live-image-amd64.hybrid.iso
sudo make test-interfaces | tee smoketest_make_test_interfaces.log
- uses: actions/upload-artifact@v4
with:
Expand All @@ -208,14 +210,14 @@ jobs:
repository: vyos/vyos-build
- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}
path: build
- name: VyOS config load tests
id: test
shell: bash
run: |
set -e
ln -s vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso build/live-image-amd64.hybrid.iso
ln -s ${{ needs.build_iso.outputs.generic_image_iso }} build/live-image-amd64.hybrid.iso
sudo make testc | tee smoketest_make_testc.log
- uses: actions/upload-artifact@v4
with:
Expand All @@ -239,14 +241,23 @@ jobs:
repository: vyos/vyos-build
- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}
path: build
- name: VyOS RAID1 installation tests
id: test
shell: bash
run: |
set -e
ln -s vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso build/live-image-amd64.hybrid.iso
echo ls -al
ls -al
echo ls -al build
ls -al build
echo ls -al build/${{ needs.build_iso.outputs.generic_image_name }}
ls -al build/${{ needs.build_iso.outputs.generic_image_name }}
mv build/${{ needs.build_iso.outputs.generic_image_name }}/* build/
ls -al build
ln -s ${{ needs.build_iso.outputs.generic_image_iso }} build/live-image-amd64.hybrid.iso
ls -al build
sudo make testraid | tee smoketest_make_testraid.log
- uses: actions/upload-artifact@v4
with:
Expand All @@ -270,14 +281,14 @@ jobs:
repository: vyos/vyos-build
- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}
path: build
- name: VyOS TPM encryption tests
id: test
shell: bash
run: |
set -e
ln -s vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso build/live-image-amd64.hybrid.iso
ln -s ${{ needs.build_iso.outputs.generic_image_iso }} build/live-image-amd64.hybrid.iso
sudo make testtpm | tee smoketest_make_testtpm.log
- uses: actions/upload-artifact@v4
with:
Expand All @@ -295,7 +306,7 @@ jobs:
- test_encrypted_config_tpm
- build_iso
runs-on: ubuntu-24.04
if: failure()
if: failure() && github.ref == 'refs/heads/current'
steps:
- uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -448,7 +459,7 @@ jobs:
json: |
[
{
"url": "https://github.com/vyos/vyos-nightly-build/releases/download/${{ needs.build_iso.outputs.build_version }}/vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso",
"url": "https://github.com/vyos/vyos-nightly-build/releases/download/${{ needs.build_iso.outputs.build_version }}/${{ steps.build_generic_iso.outputs.generic_image_iso }}",
"version": "${{ needs.build_iso.outputs.build_version }}",
"timestamp": "${{ needs.build_iso.outputs.TIMESTAMP }}"
}
Expand All @@ -469,7 +480,7 @@ jobs:

- uses: actions/download-artifact@v4
with:
name: vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64
name: ${{ needs.build_iso.outputs.generic_image_name }}

- name: "Release publishing: publish release"
uses: softprops/action-gh-release@v2
Expand All @@ -478,8 +489,8 @@ jobs:
tag_name: ${{ needs.build_iso.outputs.build_version }}
fail_on_unmatched_files: true
files: |
./vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso
./vyos-${{ needs.build_iso.outputs.build_version }}-generic-amd64.iso.minisig
./${{ steps.build_generic_iso.outputs.generic_image_iso }}
./${{ steps.build_generic_iso.outputs.generic_image_iso }}.minisig
- uses: Nats-ji/[email protected]
with:
Expand Down

0 comments on commit 4d90d4b

Please sign in to comment.