Skip to content
Open
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
62b4358
test commit
praveen-pk Sep 10, 2026
dba2433
Try2
praveen-pk Sep 16, 2026
24b22ac
Fix case for github vars
praveen-pk Sep 16, 2026
9531cc3
Re-trigger GitHub Actions
praveen-pk Sep 16, 2026
c731f3b
Re-trigger GitHub Actions - 2
praveen-pk Sep 16, 2026
510305c
Update the pipeline branch to main
praveen-pk Sep 16, 2026
a9f05cc
use the default main branch. Don't pass the pipeline branch explicitly
praveen-pk Sep 16, 2026
60159dd
Re-trigger GitHub Actions - 3
praveen-pk Sep 16, 2026
29bca5b
Re-trigger GitHub Actions - 4
praveen-pk Sep 16, 2026
e15d1de
Re-trigger GitHub Actions - 5
praveen-pk Sep 16, 2026
9d105e5
Allow rest of the tests to contiue even if lvbs smoke test fails
praveen-pk Sep 17, 2026
94b89fa
Harden LVBS smoke workflow for all PRs
praveen-pk Sep 29, 2026
e17de43
Clean up LVBS smoke test PR
praveen-pk Sep 29, 2026
d6a9f8d
Temporarily trigger LVBS PR validation
praveen-pk Sep 29, 2026
95b2fc5
Keep LVBS PR smoke on prebuilt kernel
praveen-pk Sep 29, 2026
549d37b
Use protected trigger for LVBS smoke
praveen-pk Sep 29, 2026
f65d689
Trigger LVBS smoke validation
praveen-pk Sep 30, 2026
1e21090
Merge LVBS smoke workflow base into test PR
praveen-pk Sep 30, 2026
b658ebd
Temporarily trigger LVBS PR validation
praveen-pk Sep 30, 2026
545d34d
Restore protected LVBS smoke trigger
praveen-pk Sep 30, 2026
121188b
Keep LVBS validation visible on test PR
praveen-pk Sep 30, 2026
20d2c26
Test LVBS stale-run cancellation
praveen-pk Sep 30, 2026
06b0226
Cancel superseded ADO smoke builds
praveen-pk Sep 30, 2026
32f7a59
Supersede active LVBS smoke run
praveen-pk Sep 30, 2026
7a66ed7
Cancel ADO build after job cancellation
praveen-pk Sep 30, 2026
f880da9
Verify explicit ADO cancellation
praveen-pk Sep 30, 2026
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
121 changes: 71 additions & 50 deletions .github/workflows/lvbs-smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
- opened
- synchronize
- reopened
# Test-only trigger for PR #1344. Remove before merging the workflow.
pull_request:
types:
- synchronize

permissions:
contents: read
Expand All @@ -29,69 +33,86 @@ jobs:
allow-no-subscriptions: true

- name: Trigger ADO pipeline and wait for completion
uses: azure/cli@v2
shell: bash
env:
ADO_ORGANIZATION: https://dev.azure.com/msazure
ADO_PIPELINE_ID: "471678"
ADO_PROJECT: LSG-linux
LITEBOX_COMMIT: ${{ github.event.pull_request.head.sha }}
LITEBOX_REPO_URL: ${{ github.event.pull_request.head.repo.clone_url }}
with:
inlineScript: |
set -eu
run: |
set -eu

BUILD_ID=""
cancel_build() {
trap - INT TERM
if [ -n "${BUILD_ID}" ]; then
echo "Cancelling superseded ADO build ${BUILD_ID}..."
az pipelines build cancel \
--build-id "${BUILD_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--output none || true
fi
exit 130
}
trap cancel_build INT TERM
BUILD_ID=""
cancel_build() {
trap - INT TERM
if [ -n "${BUILD_ID}" ]; then
echo "Cancelling superseded ADO build ${BUILD_ID}..."
az pipelines build cancel \
--build-id "${BUILD_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--output none || true
fi
exit 130
}
trap cancel_build INT TERM

echo "Triggering ADO pipeline for Litebox commit ${LITEBOX_COMMIT}..."
BUILD_RESULT="$(az pipelines run \
--id "${ADO_PIPELINE_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--parameters "liteboxCommit=${LITEBOX_COMMIT}" "liteboxRepoUrl=${LITEBOX_REPO_URL}" \
--output json)"
az config set extension.use_dynamic_install=yes_without_prompt

BUILD_ID="$(printf '%s\n' "${BUILD_RESULT}" | jq -r '.id // empty')"
if [ -z "${BUILD_ID}" ]; then
echo "Failed to get the build ID from the pipeline trigger."
exit 1
fi
echo "Triggering ADO pipeline for Litebox commit ${LITEBOX_COMMIT}..."
BUILD_RESULT="$(az pipelines run \
--id "${ADO_PIPELINE_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--parameters "liteboxCommit=${LITEBOX_COMMIT}" "liteboxRepoUrl=${LITEBOX_REPO_URL}" \
--output json)"

BUILD_URL="https://msazure.visualstudio.com/${ADO_PROJECT}/_build/results?buildId=${BUILD_ID}"
echo "Triggered ADO build ${BUILD_ID}: ${BUILD_URL}"
BUILD_ID="$(printf '%s\n' "${BUILD_RESULT}" | jq -r '.id // empty')"
if [ -z "${BUILD_ID}" ]; then
echo "Failed to get the build ID from the pipeline trigger."
exit 1
fi
echo "ADO_BUILD_ID=${BUILD_ID}" >> "${GITHUB_ENV}"

while true; do
BUILD_JSON="$(az pipelines build show \
--id "${BUILD_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--output json)"
BUILD_URL="https://msazure.visualstudio.com/${ADO_PROJECT}/_build/results?buildId=${BUILD_ID}"
echo "Triggered ADO build ${BUILD_ID}: ${BUILD_URL}"

BUILD_STATUS="$(printf '%s\n' "${BUILD_JSON}" | jq -r '.status')"
BUILD_RESULT_STATUS="$(printf '%s\n' "${BUILD_JSON}" | jq -r '.result // "none"')"
echo "ADO build status: ${BUILD_STATUS}; result: ${BUILD_RESULT_STATUS}"
while true; do
BUILD_JSON="$(az pipelines build show \
--id "${BUILD_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--output json)"

if [ "${BUILD_STATUS}" = "completed" ]; then
trap - INT TERM
if [ "${BUILD_RESULT_STATUS}" = "succeeded" ]; then
exit 0
fi
BUILD_STATUS="$(printf '%s\n' "${BUILD_JSON}" | jq -r '.status')"
BUILD_RESULT_STATUS="$(printf '%s\n' "${BUILD_JSON}" | jq -r '.result // "none"')"
echo "ADO build status: ${BUILD_STATUS}; result: ${BUILD_RESULT_STATUS}"

echo "ADO build ${BUILD_ID} did not succeed: ${BUILD_URL}"
exit 1
if [ "${BUILD_STATUS}" = "completed" ]; then
trap - INT TERM
if [ "${BUILD_RESULT_STATUS}" = "succeeded" ]; then
exit 0
fi

sleep 60
done
echo "ADO build ${BUILD_ID} did not succeed: ${BUILD_URL}"
exit 1
fi

sleep 60
done

- name: Cancel superseded ADO pipeline
if: cancelled() && env.ADO_BUILD_ID != ''
shell: bash
env:
ADO_ORGANIZATION: https://dev.azure.com/msazure
ADO_PROJECT: LSG-linux
run: |
echo "Cancelling superseded ADO build ${ADO_BUILD_ID}..."
az config set extension.use_dynamic_install=yes_without_prompt
az pipelines build cancel \
--build-id "${ADO_BUILD_ID}" \
--organization "${ADO_ORGANIZATION}" \
--project "${ADO_PROJECT}" \
--output none
Loading