Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.1.0 #196

Merged
merged 59 commits into from
Dec 9, 2024
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
384b918
conf/distro/dts-distro.conf: ROOT_HOME was missing
Sep 11, 2024
20777be
recipes-bsp: txe-secure-boot: smmstoretool fix buildpaths warning
Sep 9, 2024
9635d27
recipes-bsp: coreboot-utils: nvramtool - Fix buildpath warning
Sep 9, 2024
9285d3d
recipes-bsp/coreboot-utils/intelp2m_git.bb: fix buildpath error
Sep 6, 2024
6629077
linux-yocto: remove deprecated kconfig entries
Sep 5, 2024
64d384b
recipes-connectivity: wolfssl: Ignore [buildpaths] QA ISSUE
Sep 11, 2024
08a75ce
recipes-gnome: gcab: add bbapend that disable qa tests
Sep 11, 2024
023a015
recipes-kernel: linux-yocto: add efivars.cfg back to SRC_URI
m-iwanicki Oct 21, 2024
7e5b6b0
recipes-gnome: gcab: use insane_skip instead of disabling whole qa check
m-iwanicki Oct 21, 2024
f6ce1ca
recipes-bsp: intelp2m: remove useless 'go version' command
m-iwanicki Oct 21, 2024
a225b4e
recipes-core: base-files: Mount efivars by default. Needed by FUM
m-iwanicki Oct 22, 2024
9441d61
Merge pull request #167 from Dasharo/warning-buildpaths-missingroot
artur-rs Nov 15, 2024
e58279e
.github/workflows: Add workflow with DTS tests
PLangowski Nov 12, 2024
1923610
.github/workflows: Add build.yml reusable workflow
PLangowski Nov 19, 2024
980b613
.github/workflows/test.yml: Print test statuses to stdout
PLangowski Nov 19, 2024
0bd2bae
.github/workflows/test.yml: Specify Python version (3.12)
PLangowski Nov 19, 2024
950dbad
distro: recipes-kernel: linux-yocto: add capsule update configuration
DaniilKl Aug 8, 2024
9de3b6b
distro: recipes-dts: dts-scripts: bump revision
DaniilKl Sep 27, 2024
2a5acc9
Merge pull request #154 from Dasharo/add-capsule-update-support
DaniilKl Nov 20, 2024
379f816
.github/workflows/test.yml: Fix
PLangowski Nov 19, 2024
c86b8a4
Add generate-changed-recipes script + specify PV for git recipes
PLangowski Aug 5, 2024
26a9293
.github/workflows: Deploy manifest to boot.dasharo.com
PLangowski Aug 5, 2024
b689dc1
Use git-cliff to generate changelog
PLangowski Aug 20, 2024
67f4c42
recipes-bsp/coreboot-utils: Use 4.21 as base version for coreboot-uti…
PLangowski Aug 20, 2024
3e74a55
README: Link Zarhus release process
PLangowski Oct 30, 2024
bde9d90
Change git-cliff config
PLangowski Nov 18, 2024
bf4b056
.github/workflows: Fix getting DTS_VER in manifest deployment
PLangowski Nov 18, 2024
c1cf8dc
Move generate-changelog.sh to scripts
PLangowski Nov 19, 2024
40c85c0
Fill up CHANGELOG after rebase
PLangowski Nov 22, 2024
e4b9f76
Add extension to generate-changed-recipes
PLangowski Nov 22, 2024
5da2417
README: Explain parameter in generate-changelog.sh
PLangowski Nov 22, 2024
1a6d0b2
.github/workflows/test.yml: Create hdd.qcow using `touch`
PLangowski Nov 22, 2024
0305faf
Merge pull request #152 from Dasharo/changelog-notes
PLangowski Nov 22, 2024
a763285
Merge pull request #193 from Dasharo/tests-ci
PLangowski Nov 22, 2024
19c03d5
workflow: Fix build failure reported as success
m-iwanicki Nov 20, 2024
710dcbe
dts-scripts: Improve UI/UX
PLangowski Nov 22, 2024
b43520c
dts-distro.conf: bump to 2.1.0
PLangowski Nov 22, 2024
35b114e
Merge branch 'main' into develop
PLangowski Nov 22, 2024
482f808
.github/workflows/test.yml: Fix job name in `needs`
PLangowski Nov 22, 2024
cd2e285
.github/workflows/test.yml: Hotfix
PLangowski Nov 25, 2024
931d481
Merge pull request #197 from Dasharo/test-ci-fix
PLangowski Nov 25, 2024
8226575
.github/workflows/test.yml: Add missing backslashes
PLangowski Nov 25, 2024
fba2035
Merge pull request #195 from Dasharo/uiux-fixes
PLangowski Nov 27, 2024
663ba0e
dts-scripts: Hotfix
PLangowski Nov 27, 2024
fc8ae35
dts-scripts: Use correct flashrom flags
PLangowski Nov 29, 2024
0ce48b7
Merge pull request #199 from Dasharo/flashrom-params-fix
PLangowski Dec 2, 2024
5b6bd5a
dts-distro.conf: Change PREFERRED_VERSION_flashrom
PLangowski Dec 4, 2024
f5b42d1
dts-scripts: Bump Optiplex version to 0.1.1
PLangowski Dec 5, 2024
fd9b8e8
Remove condition for running tests
PLangowski Dec 5, 2024
a413b05
.github/workflows/test.yml: Fix test tag names
PLangowski Dec 5, 2024
9055627
workflow: copy logs on success and failure
m-iwanicki Dec 5, 2024
18dd7b5
workflows/test.yml: Change qemu disk extension
PLangowski Dec 6, 2024
fe268df
Merge pull request #202 from Dasharo/bump_optiplex
PLangowski Dec 6, 2024
42e0840
workflows/test.yml: Set `boot_dts_from_ipxe_shell:True` in tests
PLangowski Dec 6, 2024
0aafcf6
workflows: test.yml: Clean up all files
PLangowski Dec 6, 2024
84f0e76
.github/workflows: Use ipxe-run.sh to run ipxe server
PLangowski Dec 6, 2024
629bc4c
dts-scripts: fix SRCREV to use merge commit
m-iwanicki Dec 6, 2024
a546c0d
workflow: fix build artifact paths
m-iwanicki Dec 6, 2024
0795508
CHANGELOG: Fix links + add changelog for v2.1.0
PLangowski Dec 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: Build DTS
on:
workflow_call:
inputs:
cacheless:
type: boolean
required: true

jobs:
build:
runs-on:
labels: dts-builder
env:
FAILED_ATTEMPTS: 0
steps:
- name: Checkout meta-dts repo
uses: actions/checkout@v4
with:
path: "meta-dts"
- name: Prepare cache-less build configuration
if: ${{ inputs.cacheless }}
shell: bash
run: |
sed -i '/cache.yml/d' meta-dts/kas.yml
- 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"
echo "FAILED_ATTEMPTS=$attempt" >> $GITHUB_ENV
if [ $attempt -lt 5 ]; then
sleep 5
else
exit 1
fi
fi
done
- name: Report build command
if: always()
run: |
echo "$FAILED_ATTEMPTS build attempts failed"
47 changes: 13 additions & 34 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,41 +8,11 @@ on:

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
uses: ./.github/workflows/build.yml
with:
cacheless: false
deploy-images:
name: Deploy DTS artifacts on boot.dasharo.com and GitHub Release
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}
needs: build
runs-on:
labels: dts-builder
Expand Down Expand Up @@ -102,6 +72,13 @@ jobs:
# do not release iso image until issue is fixed
# see: https://github.com/dasharo/dasharo-issues/issues/288
# scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.iso [email protected]:boot/dts/${DTS_VER}/
- name: Deploy manifest on boot.dasharo.com
shell: bash
run: |
DTS_VER="${{ env.DTS_VER }}"
cd build/tmp/deploy/images/genericx86-64/
cp dts-base-image-genericx86-64.manifest dts-base-image-${DTS_VER}.manifest
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.manifest [email protected]:boot/dts/${DTS_VER}/
- name: Deploy sha256 on boot.dasharo.com
shell: bash
run: |
Expand All @@ -111,13 +88,15 @@ jobs:
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}.manifest > dts-base-image-${DTS_VER}.manifest.sha256
# do not release iso image until issue is fixed
# see: https://github.com/dasharo/dasharo-issues/issues/288
# 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}.manifest.sha256 [email protected]:boot/dts/${DTS_VER}/
# do not release iso image until issue is fixed
# see: https://github.com/dasharo/dasharo-issues/issues/288
# scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.iso.sha256 [email protected]:boot/dts/${DTS_VER}/
Expand Down Expand Up @@ -152,4 +131,4 @@ jobs:
rm -rf ~/.ssh/dts-ci-key
rm -rf dts-release-cicd-pipeline
rm -f ~/.ssh/gitea_dts_release_cicd
rm -rf build
rm -rf build meta-dts
47 changes: 13 additions & 34 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,11 @@ on:

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
uses: ./.github/workflows/build.yml
with:
cacheless: false
deploy-images:
name: Deploy DTS artifacts on boot.dasharo.com
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}
needs: build
runs-on:
labels: dts-builder
Expand Down Expand Up @@ -97,6 +67,13 @@ jobs:
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 manifest on boot.dasharo.com
shell: bash
run: |
DTS_VER="${{ env.DTS_VER }}"
cd build/tmp/deploy/images/genericx86-64/
cp dts-base-image-genericx86-64.manifest dts-base-image-${DTS_VER}.manifest
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.manifest [email protected]:boot/dts/${DTS_VER}/
- name: Deploy sha256 on boot.dasharo.com
shell: bash
run: |
Expand All @@ -107,11 +84,13 @@ jobs:
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
sha256sum dts-base-image-${DTS_VER}.manifest > dts-base-image-${DTS_VER}.manifest.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}/
scp -i ~/.ssh/dts-ci-key dts-base-image-${DTS_VER}.manifest.sha256 [email protected]:boot/dts/${DTS_VER}/
- name: Update iPXE menu
shell: bash
run: |
Expand Down Expand Up @@ -143,4 +122,4 @@ jobs:
rm -rf ~/.ssh/dts-ci-key
rm -rf dts-release-cicd-pipeline
rm -f ~/.ssh/gitea_dts_release_cicd
rm -rf build
rm -rf build meta-dts
130 changes: 130 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
name: Run DTS tests
on:
pull_request:
branches:
- 'main'
jobs:
build-dts:
uses: ./.github/workflows/build.yml
with:
cacheless: false
run-tests:
name: Run DTS tests
if: ${{ github.head_ref == 'develop' && contains(join(needs.*.result, ','), 'success') }}
needs: build-dts
runs-on:
labels: dts-builder
steps:
- name: Checkout OSFV repo
uses: actions/checkout@v4
with:
repository: 'Dasharo/open-source-firmware-validation'
path: 'open-source-firmware-validation'
submodules: 'recursive'
ref: 'develop'
- name: Run IPXE server
shell: bash
run: |
mkdir ipxe
cp build/tmp/deploy/images/genericx86-64/dts-base-image-genericx86-64.cpio.gz ipxe
cp build/tmp/deploy/images/genericx86-64/bzImage ipxe
echo -e "\n
#!ipxe\n
imgfetch --name file_kernel bzImage\n
imgfetch --name file_initrd dts-base-image-genericx86-64.cpio.gz\n
kernel file_kernel root=/dev/nfs initrd=file_initrd\n
boot" > ipxe/dts.ipxe
cd ipxe && python3 -m http.server 4321 &
- name: Install requirements
shell: bash
run: |
cd open-source-firmware-validation
python3 -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
- name: Run QEMU
shell: bash
id: run_qemu
run: |
cd open-source-firmware-validation/scripts/ci
mkdir qemu-data
touch qemu-data/hdd.qcow
./qemu-run.sh nographic os &
- name: Create directory for logs
shell: bash
id: log_dirs
run: |
timestamp=$(date -u +%Y-%m-%dT%H:%M:%S%Z)
directory="/tmp/dts-test-ci-${timestamp}"
mkdir $directory
echo "directory=$directory" >> "$GITHUB_OUTPUT"
- name: Run tests
shell: bash
env:
LOG_DIR: ${{ steps.log_dirs.outputs.directory }}
run: |
cd open-source-firmware-validation
source venv/bin/activate
# This file is already present on dts-builder.
# It contains credentials for DPP subscriptions.
# It has the following form:
# DPP_PASSWORD="..."
# <SUBSCRIPTION_TYPE>_DOWNLOADS="download key"
# <SUBSCRIPTION_TYPE>_LOGS="logs key"
# (...)
source ~/.secrets/dpp-keys
ip_addr=$(ip -o -4 addr list eno2 | awk '{print $4}' | cut -d/ -f1)

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$MSI_DOWNLOAD \
-v dpp_logs_key:$MSI_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "msi" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_msi.log | grep "| PASS |\|| FAIL |"

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$MSI_HEADS_DOWNLOAD \
-v dpp_logs_key:$MSI_HEADS_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "msi_heads" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_msi_heads.log | grep "| PASS |\|| FAIL |"

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$OPTIPLEX_DOWNLOAD \
-v dpp_logs_key:$OPTIPLEX_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "optiplex" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_optiplex.log | grep "| PASS |\|| FAIL |"

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$NOVACUSTOM_HEADS_DOWNLOAD \
-v dpp_logs_key:$NOVACUSTOM_HEADS_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "novacustom_heads" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_nc_heads.log | grep "| PASS |\|| FAIL |"

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$PCENGINES_DOWNLOAD \
-v dpp_logs_key:$PCENGINES_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "pcengines" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_pcengines.log | grep "| PASS |\|| FAIL |"

robot -L TRACE -v config:qemu -v rte_ip:127.0.0.1 -v snipeit:no \
-v dpp_password:$DPP_PASSWORD -v dpp_download_key:$PCENGINES_SEABIOS_DOWNLOAD \
-v dpp_logs_key:$PCENGINES_SEABIOS_LOGS -v netboot_utilities_support:True \
-v dts_ipxe_link:http://${ip_addr}:4321/dts.ipxe \
-i "pcengines_seabios" dts/dts-e2e.robot 2>&1 | tee $LOG_DIR/output_pcengines_seabios.log | grep "| PASS |\|| FAIL |"
- name: Copy log
shell: bash
env:
LOG_DIR: ${{ steps.log_dirs.outputs.directory }}
run: |
cp open-source-firmware-validation/log.html $LOG_DIR/log.html
cleanup:
name: Cleanup
if: always()
needs: run-tests
runs-on:
labels: dts-builder
steps:
- name: Cleanup after tests
shell: bash
run: |
rm -rf open-source-firmware-validation meta-dts build ipxe
47 changes: 3 additions & 44 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,52 +7,11 @@ on:

jobs:
build:
name: Build system image without using cache
runs-on:
labels: dts-builder
steps:
- name: Prepare SSH key
shell: bash
env:
SSH_KEY: ${{secrets.SSH_KEY}}
run: |
echo -e ${SSH_KEY} > ~/.ssh/dts-ci-key
chmod 600 ~/.ssh/dts-ci-key
- name: Checkout meta-dts repo
uses: actions/checkout@v2
with:
path: "meta-dts"
- name: Prepare cache-less build configuration
shell: bash
run: |
sed -i '/cache.yml/d' meta-dts/kas.yml
- 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
uses: ./.github/workflows/build.yml
with:
cacheless: true
deploy-cache:
name: Deploy cache on cache.dasharo.com
if: always()
needs: build
runs-on:
labels: dts-builder
Expand Down
Loading
Loading