ci: Move to new self-hosted runners #22
Workflow file for this run
This file contains hidden or 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
| name: Build U-Boot for RB1 | |
| on: | |
| pull_request: | |
| branches: [main] | |
| # allow manual runs | |
| workflow_dispatch: | |
| # only need permission to read repository; implicitely set all other | |
| # permissions to none | |
| permissions: | |
| contents: read | |
| security-events: read # This is required to handle authentication to our artifact publishing API | |
| env: | |
| # where results will be posted/hosted | |
| FILESERVER_URL: https://quic-yocto-fileserver-1029608027416.us-central1.run.app | |
| # github runs are only unique per repository and may also be re-run; create a | |
| # build id for the current run | |
| BUILD_ID: ${{ github.repository }}-${{ github.run_id }}-${{ github.run_attempt }} | |
| # cancel in progress builds for this workflow triggered by the same ref | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-u-boot-rb1: | |
| # for cross-builds | |
| runs-on: [self-hosted, qcom-u2404, amd64] | |
| # alternative for native builds, but overkill to do both | |
| #runs-on: [self-hosted, arm64, debbuilder] | |
| container: | |
| image: debian:trixie | |
| volumes: | |
| - /efs/qli/metaqcom/gh-runners/quic-yocto/builds:/fileserver-builds | |
| - /efs/qli/metaqcom/gh-runners/quic-yocto/downloads:/fileserver-downloads | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| # make sure we have latest packages first, to get latest fixes, to avoid | |
| # an automated update while we're building, and to prevent version skews | |
| - name: Update OS packages | |
| run: | | |
| set -ux | |
| apt update | |
| apt -y upgrade | |
| apt -y full-upgrade | |
| - name: Build U-Boot Android boot image for RB1 | |
| run: | | |
| set -ux | |
| # install build-dependencies | |
| apt -y install git crossbuild-essential-arm64 make bison flex bc \ | |
| libssl-dev gnutls-dev xxd coreutils gzip mkbootimg | |
| scripts/build-u-boot-rb1.sh | |
| - name: Upload results to fileserver | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| set -ux | |
| # python3-requests is used by publish_aritfacts.py | |
| apt -y install python3-requests | |
| export BUILD_DIR="/fileserver-downloads/qcom-deb-images/u-boot-rb1-latest" | |
| mkdir -vp ${BUILD_DIR} | |
| cp -av \ | |
| u-boot/u-boot-nodtb.bin.gz \ | |
| u-boot/dts/upstream/src/arm64/qcom/qrb2210-rb1.dtb \ | |
| u-boot/u-boot-nodtb.bin.gz-dtb \ | |
| u-boot/u-boot.bin \ | |
| u-boot/rb1-boot.img \ | |
| ${BUILD_DIR} | |
| # perhaps help NFS sync | |
| sync | |
| # instruct fileserver to publish this directory | |
| export URL="${FILESERVER_URL}/${BUILD_ID}/" | |
| .github/workflows/publish_artifacts.py | |
| echo Image available at: ${URL} |