build: Check downloaded vermagic hash
This commit is contained in:
29
.github/workflows/build.yml
vendored
29
.github/workflows/build.yml
vendored
@@ -175,17 +175,30 @@ jobs:
|
||||
cd $BUILD_ROOT
|
||||
MAKE_JOBS=$(($(nproc)+1))
|
||||
echo "$MAKE_JOBS thread compile"
|
||||
# init build config
|
||||
./xmake.sh -I -t $TARGET
|
||||
G_DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
|
||||
[ -z "$G_DEVICE_NAME" ] && exit 31
|
||||
G_BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
|
||||
[ -z "$G_BOARD_NAME" ] && exit 32
|
||||
G_SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
|
||||
[ -z "$G_SUBTARGET_NAME" ] && exit 33
|
||||
VERMAGIC_LIST="vermagic-$G_BOARD_NAME-$G_SUBTARGET_NAME-*.list"
|
||||
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
||||
./vermagic_update.sh $G_BOARD_NAME $G_SUBTARGET_NAME
|
||||
fi
|
||||
if [ $(find . -maxdepth 1 -name "$VERMAGIC_LIST" | wc -l) = "0" ]; then
|
||||
exit 41
|
||||
fi
|
||||
# run build
|
||||
[ "$FAKE_BUILD" != "true" ] && make -j $MAKE_JOBS download world
|
||||
# process results
|
||||
FILE_DATE=$(date --utc +'%y%m%d')
|
||||
DEVICE_NAME=$( grep -so '^CONFIG_TARGET.*DEVICE.*=y' .config | sed -r 's/.*DEVICE_(.*)=y/\1/' )
|
||||
BOARD_NAME=$( grep -so '^CONFIG_TARGET_BOARD=.*' .config | cut -d'"' -f2 )
|
||||
SUBTARGET_NAME=$( grep -so '^CONFIG_TARGET_SUBTARGET=.*' .config | cut -d'"' -f2 )
|
||||
OUT_DIR=$BUILD_ROOT/bin/targets/$BOARD_NAME/$SUBTARGET_NAME
|
||||
OUT_DIR=$BUILD_ROOT/bin/targets/$G_BOARD_NAME/$G_SUBTARGET_NAME
|
||||
if [ "$FAKE_BUILD" = "true" ]; then
|
||||
mkdir -p logs
|
||||
mkdir -p $OUT_DIR
|
||||
echo "$BOARD_NAME $SUBTARGET_NAME $DEVICE_NAME" > "$OUT_DIR/$DEVICE_NAME.txt"
|
||||
echo "$G_BOARD_NAME $G_SUBTARGET_NAME $G_DEVICE_NAME" > "$OUT_DIR/$G_DEVICE_NAME.txt"
|
||||
touch "$OUT_DIR/kernel-debug.tar.zst"
|
||||
ls -la
|
||||
BLD_VER=$FW_VER
|
||||
@@ -198,9 +211,9 @@ jobs:
|
||||
exit 100
|
||||
fi
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
echo "DEVICE_NAME=$DEVICE_NAME" >> $GITHUB_ENV
|
||||
echo "BOARD_NAME=$BOARD_NAME" >> $GITHUB_ENV
|
||||
echo "SUBTARGET_NAME=$SUBTARGET_NAME" >> $GITHUB_ENV
|
||||
echo "DEVICE_NAME=$G_DEVICE_NAME" >> $GITHUB_ENV
|
||||
echo "BOARD_NAME=$G_BOARD_NAME" >> $GITHUB_ENV
|
||||
echo "SUBTARGET_NAME=$G_SUBTARGET_NAME" >> $GITHUB_ENV
|
||||
echo "BLD_VER=$BLD_VER" >> $GITHUB_ENV
|
||||
echo "OUT_DIR=$OUT_DIR" >> $GITHUB_ENV
|
||||
echo "FILE_DATE=$FILE_DATE" >> $GITHUB_ENV
|
||||
|
||||
Reference in New Issue
Block a user