-
Notifications
You must be signed in to change notification settings - Fork 357
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5825 from jkonecny12/rhel-10-sync-master
RHEL-10: Sync infra from master
- Loading branch information
Showing
10 changed files
with
208 additions
and
65 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,6 +21,13 @@ | |
# | ||
# /kickstart-test --force rpm-ostree | ||
# ... run rpm-ostree test even if it is disabled | ||
# | ||
# | ||
# It is possible to run updated tests via a PR in kickstart-tests repository | ||
# | ||
# /kickstart-test --kstest-pr 1233 --testtype harddrive | ||
# ... run the tests of type harddrive with | ||
# https://github.com/rhinstaller/kickstart-tests/pull/1233 update of kickstart tests | ||
|
||
name: kickstart-tests | ||
on: | ||
|
@@ -70,15 +77,26 @@ jobs: | |
run: | | ||
# extract first line and cut out the "/kickstart-tests" first word | ||
ARGS=$(echo "$BODY" | sed -n '1 s/^[^ ]* *//p' | sed 's/[[:space:]]*$//') | ||
echo "workflow arguments are: $ARGS" | ||
# parse --kstest-pr option | ||
OPTS="$(getopt -q -o "" --long kstest-pr: -- $ARGS)" || true | ||
PR=${OPTS#" --kstest-pr '"} | ||
PR=$(echo $PR | cut -d " " -f1) | ||
PR=${PR%"'"} | ||
PR=${PR%"--"} | ||
# remove --kstest-pr option | ||
ARGS=$(echo "$ARGS" | sed -r -e "s#--kstest-pr( +|=)$PR ##" | sed 's/[[:space:]]*$//') | ||
echo "test selection arguments are: $ARGS" | ||
echo "comment_args=${ARGS}" >> $GITHUB_OUTPUT | ||
echo "kickstart-tests PR: $PR" | ||
echo "kstest_pr=${PR}" >> $GITHUB_OUTPUT | ||
|
||
outputs: | ||
allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} | ||
base_ref: ${{ fromJson(steps.pr_api.outputs.data).base.ref }} | ||
sha: ${{ fromJson(steps.pr_api.outputs.data).head.sha }} | ||
comment_args: ${{ steps.parse_comment_args.outputs.comment_args }} | ||
target_branch: ${{ fromJson(steps.pr_api.outputs.data).base.ref }} | ||
kstest_pr: ${{ steps.parse_comment_args.outputs.kstest_pr }} | ||
|
||
run: | ||
needs: pr-info | ||
|
@@ -134,8 +152,24 @@ jobs: | |
uses: actions/checkout@v4 | ||
with: | ||
repository: rhinstaller/kickstart-tests | ||
fetch-depth: 0 | ||
path: kickstart-tests | ||
|
||
- name: Pull the request and rebase to the upstream target | ||
working-directory: ./kickstart-tests | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
if [ -n "${{ needs.pr-info.outputs.kstest_pr }}" ]; then | ||
gh pr checkout ${{ needs.pr-info.outputs.kstest_pr }} | ||
BASE_REF=$(gh pr view --json baseRefName --template '{{.baseRefName}}' ${{ needs.pr-info.outputs.kstest_pr }}) | ||
git config user.name github-actions | ||
git config user.email [email protected] | ||
git log --oneline -1 $BASE_REF | ||
git rebase $BASE_REF | ||
echo "Rebasing PR ${{ needs.pr-info.outputs.kstest_pr }} to upstream $BASE_REF" | ||
fi | ||
|
||
- name: Generate test cases | ||
working-directory: ./kickstart-tests | ||
run: scripts/generate-testcases.py -t ./testlib/test_cases/kstest-template.tc.yaml.j2 . -o ./testlib/test_cases | ||
|
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
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
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
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
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
This file was deleted.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
#!/bin/bash | ||
# | ||
# rebuild_boot_iso | ||
# | ||
# This script is used to cleanly rebuild boot.iso from the current | ||
# checked out branch. | ||
# | ||
# ask for sudo now, so we have it when we get to the image build | ||
set -eu | ||
|
||
help() { | ||
cat <<EOF | ||
This script will build the anaconda RPMs and then build boot.iso | ||
or Live ISO from these. | ||
Before starting the build it will remove all the previous build | ||
artifacts. | ||
Usage: | ||
Start the build process: | ||
$0 [options] | ||
Options: | ||
-h, --help Print this help | ||
-a, --add-rpms Add additional RPMs (for example anaconda-webui package) | ||
these packages have to be already requested to be in ISO | ||
-l, --live Build Live ISO instead of boot.iso | ||
EOF | ||
} | ||
|
||
BOOT_ISO="result/iso/boot.iso" | ||
PACKAGES_DIR="result/build/01-rpm-build/" | ||
BOOT_ISO_GIT_REVISION="result/iso/iso.git_rev" | ||
|
||
BUILD_TARGET="boot.iso" | ||
|
||
COPY_RPMS="" | ||
|
||
# parse arguments | ||
eval set -- "$(getopt -o ha:l --long help,add-rpms:,live -- "$@")" | ||
|
||
while true; do | ||
case "${1:-}" in | ||
-h|--help) help; exit 0 ;; | ||
-a|--add-rpms) shift; COPY_RPMS="$COPY_RPMS $1" ;; | ||
-l|--live) BUILD_TARGET="live" ;; | ||
--) shift; break ;; | ||
esac | ||
shift | ||
done | ||
|
||
echo "warming up sudo!" | ||
sudo true | ||
# remove any previous package and relevant iso artifacts | ||
rm -rf result/build/ | ||
rm -f ${BOOT_ISO} | ||
rm -f ${BOOT_ISO_GIT_REVISION} | ||
# make sure the iso folder actually exists | ||
mkdir -p result/iso/ | ||
# note the Git revision from which we build the boot.iso | ||
git rev-parse HEAD > ${BOOT_ISO_GIT_REVISION} | ||
|
||
# build the anaconda rpms | ||
make -f ./Makefile.am container-rpms-scratch | ||
|
||
# copy additional web UI packages | ||
for i in $COPY_RPMS; do | ||
cp "$i" "$PACKAGES_DIR" | ||
done | ||
|
||
# build the ISO | ||
if [ "$BUILD_TARGET" = "boot.iso" ]; then | ||
make -f ./Makefile.am anaconda-iso-creator-build | ||
make -f ./Makefile.am container-iso-build | ||
elif [ "$BUILD_TARGET" = "live" ]; then | ||
make -f ./Makefile.am anaconda-live-iso-creator-build | ||
make -f ./Makefile.am container-live-iso-build | ||
fi |
Oops, something went wrong.