Skip to content

Update Linux build scripts #5

Update Linux build scripts

Update Linux build scripts #5

Workflow file for this run

name: Build Linux and openSBI in os-boot
permissions:
id-token: write
attestations: write
contents: read
on:
push:
paths:
- ".github/workflows/linux.yml"
- "os-boot/linux/**"
- "!os-boot/**.md"
pull_request:
paths:
- ".github/workflows/linux.yml"
- "os-boot/linux/**"
- "!os-boot/**.md"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install packages
run: sudo apt install -y build-essential curl
- name: Check out repository code
uses: actions/checkout@v4
- name: Cache Sources
uses: actions/cache@v4
with:
key: ${{ hashFiles('os-boot/linux/Makefile') }}
path: os-boot/linux/src/*.tar.xz
- name: Make ELF
working-directory: os-boot/linux
run: make -j$(nproc)
- name: Make dtb
working-directory: os-boot/linux
run: make -j$(nproc) sail.dtb
- name: Upload ELF
id: upload
uses: actions/upload-artifact@v4
with:
name: linux-opensbi-${{ github.run_id }}
path: |
os-boot/linux/build/fw_payload.elf
os-boot/linux/build/sail.dtb
- name: Generate ELF Attestation
if: github.event_name != 'pull_request'
uses: actions/attest-build-provenance@v2
id: attest
with:
subject-path: |
os-boot/linux/build/fw_payload.elf
os-boot/linux/build/sail.dtb
show-summary: false
- name: Upload Paper Work
working-directory: os-boot
env:
ELFURL: ${{ steps.upload.outputs.artifact-url }}
ATTESTURL: ${{ steps.attest.outputs.attestation-url }}
run: |
echo "# Linux + openSBI ELF" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "The generated [ELF file]("$ELFURL") can be verified from [here]("$ATTESTURL")." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "## Header" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
readelf -h linux/build/fw_payload.elf >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
- name: Test ELF File
working-directory: os-boot/linux
run: |
echo "## ELF Test with Sail" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
make sail >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY