Skip to content

build-gg

build-gg #8

Workflow file for this run

name: build-gg
on:
workflow_dispatch:
inputs:
clean:
description: 'clean sstate + downloads dir, force download + rebuild of everything'
type: boolean
required: false
default: false
upload-zip:
description: 'zip files should be uploaded to GH artifact store and a link will provided'
type: boolean
required: false
default: false
push:
branches:
- master-next
jobs:
clean:
runs-on: codebuild-${{ vars.CODEBUILD_RUNNER_NAME }}-${{ github.run_id }}-${{ github.run_attempt }}
steps:
- name: clean sstate-cache + downloads
if: inputs.clean
shell: bash
run:
rm -rf /sstate-cache/*
rm -rf /downloads/*
build:
needs: clean
strategy:
fail-fast: false
matrix:
device:
- qemuarm64
- qemux86-64
- aws-ec2-arm64
- aws-ec2-x86-64
- raspberrypi2
- raspberrypi-64
image:
- aws-iot-greengrass-demo-image
runs-on: ${{ vars.CODEBUILD_RUNNER_NAME }}-${{ github.run_id }}-${{ github.run_attempt }}
steps:
- name: checkout meta-aws-demos branch to build
uses: actions/checkout@v4
with:
submodules: recursive
- name: build
shell: bash
run: |
chown yoctouser /sstate-cache
chown yoctouser /downloads
chown -R yoctouser .
sysctl vm.mmap_min_addr=65536
env
sudo -u yoctouser bash -c '\
whoami && \
id && \
. init-build-env &&
export SSTATE_DIR=/sstate-cache && \
export DL_DIR=/downloads && \
export BB_ENV_PASSTHROUGH_ADDITIONS="$BB_ENV_PASSTHROUGH_ADDITIONS SSTATE_DIR DL_DIR" && \
export DEVICE=${{ matrix.device }} && \
export IMAGE=${{ matrix.image }} && \
bitbake $IMAGE '
- name: Generate readme
run: |
mkdir ${{ github.workspace }}/zipfile/
echo "Please flash the image onto a SD card and then mount the fat boot partition and copy the CertsAndConfig zip into it." > ${{ github.workspace }}/zipfile/readme.txt
echo "You can add the ip address to the cmdline.txt file: ip=192.168.0.69::192.168.0.1:255.255.255.0:rpi:eth0:off" >> ${{ github.workspace }}/zipfile/readme.txt
cat ${{ github.workspace }}/.github/workflows/readme-license.txt >> ${{ github.workspace }}/zipfile/readme.txt
- name: cp image (raspberrypi) to zip dir
if: startsWith(matrix.device, 'raspberrypi[15]')
shell: bash
run: |
cp ${{ github.workspace }}/build/tmp/deploy/images/${{ matrix.device }}/${{ matrix.image }}-${{ matrix.device }}.rootfs.rpi-sdimg ${{ github.workspace }}/zipfile/${{ matrix.image }}-${{ matrix.device }}.img
ls -la ${{ github.workspace }}/zipfile/
- name: cp image (raspberrypi-) to zip dir
if: startsWith(matrix.device, 'raspberrypi-64')
shell: bash
run: |
cp ${{ github.workspace }}/build/tmp/deploy/images/raspberrypi-armv8/${{ matrix.image }}-raspberrypi-armv8.rootfs.rpi-sdimg ${{ github.workspace }}/zipfile/${{ matrix.image }}-${{ matrix.device }}.img
ls -la ${{ github.workspace }}/zipfile/
- name: cp image (aws-ec2) to zip dir
if: startsWith(matrix.device, 'aws-ec2')
shell: bash
run: |
cp ${{ github.workspace }}/build/tmp/deploy/images/${{ matrix.device }}/${{ matrix.image }}-${{ matrix.device }}.rootfs.wic.vhd ${{ github.workspace }}/zipfile/
cp ${{ github.workspace }}/build/tmp/deploy/images/${{ matrix.device }}/${{ matrix.image }}-${{ matrix.device }}.rootfs.testdata.json ${{ github.workspace }}/zipfile/
cp -r ${{ github.workspace }}/layers/sw/meta-aws/scripts/ec2-ami/* ${{ github.workspace }}/zipfile/
ls -la ${{ github.workspace }}/zipfile/
- name: Create and save zipfile
if: (startsWith(matrix.device, 'raspberrypi') || startsWith(matrix.device, 'aws-ec2') ) && inputs.upload-zip
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.image }}_${{ matrix.device }}
path: |
${{ github.workspace }}/zipfile/*
retention-days: 1