Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
85e9185
Adding support for eLxr13 Bianca Release
srmungar May 15, 2026
1452090
Potential fix for pull request finding
srmungar May 15, 2026
9594b78
Potential fix for pull request finding
srmungar May 15, 2026
966b447
Potential fix for pull request finding
srmungar May 15, 2026
464bbd5
Potential fix for pull request finding
srmungar May 15, 2026
c63f692
Potential fix for pull request finding
srmungar May 15, 2026
c48d9ec
updated missing modifications
srmungar May 15, 2026
a2b0fdd
Merge branch 'elxr13-support' of https://github.com/open-edge-platfor…
srmungar May 15, 2026
6c0d89c
updated the missing code on support for elxr13 in loadproviderrepocon…
srmungar May 15, 2026
33dda44
fix(elxr13): address remaining Bianca review feedback
Copilot May 15, 2026
08fdd45
updated sources to point to bianca release
srmungar May 15, 2026
5438eb9
Merge branch 'elxr13-support' of https://github.com/open-edge-platfor…
srmungar May 15, 2026
ac7798d
test(elxr): strengthen elxr13 bianca repo assertions
Copilot May 15, 2026
b510241
Merge branch 'elxr13-support' of https://github.com/open-edge-platfor…
srmungar May 15, 2026
14b588b
updated repo.yml for bianca
srmungar May 15, 2026
6f08a5d
updated gpg key
srmungar May 15, 2026
0a81577
updated component areas for elxr13
srmungar May 15, 2026
2fa2266
change the resolution logic
srmungar May 15, 2026
33319bf
updated tests
srmungar May 15, 2026
eff83ac
updated to build elxr13 images
srmungar May 18, 2026
74655c3
fixing lint error
srmungar May 19, 2026
246c5b0
fixed the unit test failure
srmungar May 19, 2026
d1d277f
fix unit test
srmungar May 19, 2026
112d88a
update unit test
srmungar May 19, 2026
e90d9b7
updated unit tests
srmungar May 19, 2026
cf40292
adding workflows for elxr-edge-26.04
srmungar May 20, 2026
7dba6be
update the workflow names
srmungar May 20, 2026
350e2e7
updated the workflows to follow the correct naming convention
srmungar May 20, 2026
209a40e
adding minimal template
srmungar May 20, 2026
8851124
adding missing user template
srmungar May 20, 2026
6547288
removing the unfinished templates
srmungar May 20, 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
102 changes: 102 additions & 0 deletions .github/workflows/build-elxr-edge-26-04-arm-raw.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Build ELXR Edge 26.04 Raw Image - ARM
on:
workflow_dispatch: # Manual runs
inputs:
ref:
description: "Branch or SHA to test (e.g. feature/x or a1b2c3)"
required: false
run_qemu_test:
description: "Run QEMU boot test after build"
required: false
default: "false"
type: choice
options:
- "true"
- "false"
push:
branches:
- main
pull_request:
branches:
- main

permissions:
contents: read

jobs:
build-elxr-edge-26-04-arm-raw:
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
persist-credentials: false
ref: ${{ github.event.inputs.ref || github.ref }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd #v4.0.0

- name: Install Earthly
uses: earthly/actions-setup@43211c7a0eae5344d6d79fb4aaf209c8f8866203 #v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version: "latest"

- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-aarch64 ovmf tree jq systemd-ukify mmdebstrap systemd-boot qemu-efi-aarch64

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c #v6.4.0
with:
go-version: stable

- name: Prepare build script
run: |
if [ ! -f scripts/build_elxr-edge-26.04_arm_raw.sh ]; then
echo "scripts/build_elxr-edge-26.04_arm_raw.sh not found!"
exit 1
fi
chmod +x scripts/build_elxr-edge-26.04_arm_raw.sh

- name: Run ARM ELXR Edge 26.04 Raw Image Build
env:
#RUN_QEMU_TEST: ${{ github.event.inputs.run_qemu_test }}
RUN_QEMU_TEST: false
run: |
echo "Starting ARM ELXR Edge 26.04 raw image build..."
# Ensure script has access to docker group for Earthly
sudo usermod -aG docker $USER

# Prepare arguments with input validation
ARGS=""
case "${RUN_QEMU_TEST}" in
"true")
ARGS="--qemu-test"
echo "QEMU boot test will be run after build"
;;
"false"|"")
echo "QEMU boot test will be skipped"
;;
*)
echo "Invalid input for run_qemu_test: ${RUN_QEMU_TEST}"
exit 1
;;
esac

# Run the ELXR Edge 26.04 raw image build script
./scripts/build_elxr-edge-26.04_arm_raw.sh $ARGS
echo "ELXR Edge 26.04 raw image build completed."
- name: Set file permissions for artifacts
run: |
sudo chmod -R 755 workspace/ || true
find workspace/*/imagebuild/*/ -name "*.raw*" -exec chmod 777 {} \; || true

- name: GitHub Upload Release Artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1
with:
name: elxr-edge-26.04-arm-raw-image
path: |
workspace/*/imagebuild/*/elxr-edge-26.04-aarch64-minimal*.raw.gz
retention-days: 30
106 changes: 106 additions & 0 deletions .github/workflows/build-elxr-edge-26-04-immutable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Build ELXR Edge 26.04 Immutable Image
on:
workflow_dispatch: # Manual runs
inputs:
ref:
description: "Branch or SHA to test (e.g. feature/x or a1b2c3)"
required: false
run_qemu_test:
description: "Run QEMU boot test after build"
required: false
default: "false"
type: choice
options:
- "true"
- "false"
push:
branches:
- main
pull_request:
branches:
- main

permissions:
contents: read

jobs:
build-elxr-edge-26-04-immutable:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
persist-credentials: false

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd #v4.0.0

- name: Install Earthly
uses: earthly/actions-setup@43211c7a0eae5344d6d79fb4aaf209c8f8866203 #v1.0.13
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version: "latest"

- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-x86 ovmf tree jq systemd-ukify mmdebstrap systemd-boot

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c #v6.4.0
with:
go-version: stable

- name: Prepare build script
run: |
if [ ! -f scripts/build_elxr-edge-26.04_immutable.sh ]; then
echo "scripts/build_elxr-edge-26.04_immutable.sh not found!"
exit 1
fi
chmod +x scripts/build_elxr-edge-26.04_immutable.sh

- name: Run ELXR Edge 26.04 Immutable Image Build
env:
RUN_QEMU_TEST: ${{ github.event.inputs.run_qemu_test }}
run: |
echo "Starting ELXR Edge 26.04 immutable image build..."
# Ensure script has access to docker group for Earthly
sudo usermod -aG docker $USER

# Prepare arguments with input validation
ARGS=""
case "${RUN_QEMU_TEST}" in
"true")
ARGS="--qemu-test"
echo "QEMU boot test will be run after build"
;;
"false"|"")
echo "QEMU boot test will be skipped"
;;
*)
echo "Invalid input for run_qemu_test: ${RUN_QEMU_TEST}"
exit 1
;;
esac

# Run the ELXR Edge 26.04 immutable image build script
./scripts/build_elxr-edge-26.04_immutable.sh $ARGS
echo "ELXR Edge 26.04 immutable image build completed."

- name: Notify on failure
if: ${{ failure() && github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REVIEWER_ID: srmungar
run: |
PR_AUTHOR=$(jq --raw-output 'try .pull_request.user.login // empty' "$GITHUB_EVENT_PATH")
if [ -z "$PR_AUTHOR" ]; then
echo "PR_AUTHOR not found in event payload. Skipping notification."
exit 0
fi
COMMENT_BODY="Hey @$PR_AUTHOR and @$REVIEWER_ID — the ELXR Edge 26.04 Immutable image build has failed. Please check the logs."
curl -s -X POST \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
--data "{\"body\": \"$COMMENT_BODY\"}" \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments"
107 changes: 107 additions & 0 deletions .github/workflows/build-elxr-edge-26-04-iso.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Build ELXR Edge 26.04 ISO Image
on:
workflow_dispatch: # Manual runs
inputs:
ref:
description: "Branch or SHA to test (e.g. feature/x or a1b2c3)"
required: false
run_qemu_test:
description: "Run QEMU boot test after build"
required: false
default: "false"
type: choice
options:
- "true"
- "false"
push:
branches:
- main
pull_request:
branches:
- main

permissions:
contents: read

jobs:
build-elxr-edge-26-04-iso:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
ref: ${{ github.event.inputs.ref || github.ref }}
persist-credentials: false

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd #v4.0.0

- name: Install Earthly
uses: earthly/actions-setup@43211c7a0eae5344d6d79fb4aaf209c8f8866203 #v1.0.13
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version: "latest"

- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y qemu-system-x86 ovmf tree jq systemd-ukify mmdebstrap systemd-boot

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c #v6.4.0
with:
go-version: stable

- name: Prepare build script
run: |
if [ ! -f scripts/build_elxr-edge-26.04_iso.sh ]; then
echo "scripts/build_elxr-edge-26.04_iso.sh not found!"
exit 1
fi
chmod +x scripts/build_elxr-edge-26.04_iso.sh

- name: Run ELXR Edge 26.04 ISO Image Build
env:
RUN_QEMU_TEST: ${{ github.event.inputs.run_qemu_test }}
run: |
echo "Starting ELXR Edge 26.04 ISO image build..."
# Ensure script has access to docker group for Earthly
sudo usermod -aG docker $USER

# Prepare arguments with input validation
ARGS=""
case "${RUN_QEMU_TEST}" in
"true")
ARGS="--qemu-test"
echo "QEMU boot test will be run after build"
;;
"false"|"")
echo "QEMU boot test will be skipped"
;;
*)
echo "Invalid input for run_qemu_test: ${RUN_QEMU_TEST}"
exit 1
;;
esac

# Run the ELXR Edge 26.04 ISO image build script
./scripts/build_elxr-edge-26.04_iso.sh $ARGS
echo "ELXR Edge 26.04 ISO image build completed."

- name: Notify on failure
if: ${{ failure() && github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REVIEWER_ID: srmungar
run: |
PR_AUTHOR=$(jq --raw-output 'try .pull_request.user.login // empty' "$GITHUB_EVENT_PATH")
if [ -z "$PR_AUTHOR" ]; then
echo "PR_AUTHOR not found in event payload. Skipping notification."
exit 0
fi
COMMENT_BODY="Hey @$PR_AUTHOR and @$REVIEWER_ID — the ELXR Edge 26.04 ISO image build has failed. Please check the logs."
curl -s -X POST \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
--data "{\"body\": \"$COMMENT_BODY\"}" \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments"
Loading
Loading