name: Yoe Distro CI on: # Trigger the workflow on push or pull request, # but only for the master branch push: branches: - master pull_request: branches: - master jobs: build: name: Yoe Build runs-on: [self-hosted, Linux] timeout-minutes: 720 steps: - name: Fetch Repo Name id: repo-name run: echo "::set-output name=value::$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 submodules: recursive - name: checkout yoe run: | git clone --recurse-submodules -j8 -b master https://github.com/YoeDistro/yoe-distro.git yoe cd yoe git checkout master git pull git submodule update --recursive --init rm -rf sources/${{ steps.repo-name.outputs.value }}/* rsync -av --progress --exclude="yoe" --exclude=".git" `pwd`/../ sources/${{ steps.repo-name.outputs.value }}/ - name: Setup run: | cd yoe export DOCKER_REPO=none export LANG=en_US.UTF-8 export SSTATE_CACHE_DIR=/scratch/sstate-cache echo export DOCKER_REPO=none > local.sh echo export LANG=en_US.UTF-8 >> local.sh echo export SSTATE_CACHE_DIR=/scratch/sstate-cache >> local.sh cp conf/local.conf.sample conf/local.conf echo SSTATE_DIR = \"$SSTATE_CACHE_DIR\" >> conf/local.conf echo IMAGE_CLASSES += \"testimage testsdk\" >> conf/local.conf echo INHERIT += \"report-error rm_work\" >> conf/local.conf echo ERR_REPORT_SERVER = \"errors.yoctoproject.org\" >> conf/local.conf echo ERR_REPORT_PORT = \"80\" >> conf/local.conf echo ERR_REPORT_USERNAME = \"Yoe Distro CI\" >> conf/local.conf echo ERR_REPORT_EMAIL = \"info@yoedistro.org\" >> conf/local.conf echo TOOLCHAIN = \"clang\" >> conf/local.conf echo BB_NUMBER_THREADS = \"16\" >> conf/local.conf echo PARALLEL_MAKE = \"-j 32\" >> conf/local.conf echo CLANGSDK = \"1\" >> conf/local.conf echo IMAGE_INSTALL:append = \" clang \" >> conf/local.conf echo XZ_DEFAULTS = \"--threads=8\" >> conf/local.conf echo SDKMACHINE = \"aarch64\" >> conf/local.conf /bin/bash -c "sed -i -e 's/PACKAGE_FEED_URI.*$//' conf/site.conf" /bin/bash -c "sed -i -e 's/SDK_UPDATE_URL.*$//' conf/site.conf" - name: Build Image run: | cd yoe /bin/bash -c ". ./qemuarm64-envsetup.sh && bitbake yoe-qt5-image yoe-sdk-image yoe-debug-image" - name: Build SDK run: | cd yoe /bin/bash -c ". ./qemuarm64-envsetup.sh && bitbake yoe-debug-image -cpopulate_sdk_ext" - name: Test Image run: | cd yoe export DISPLAY=":0" echo TESTIMAGE_AUTO:qemuall = \"1\" >> conf/local.conf /bin/bash -c ". ./qemuarm64-envsetup.sh && bitbake yoe-sdk-image" - name: Prepare results run: | cd yoe /bin/bash -c ". ./qemuarm64-envsetup.sh && resulttool report build/tmp/log/oeqa" - name: Clean shared state run: | cd yoe /bin/bash -c ". ./qemuarm64-envsetup.sh && ./sources/poky/scripts/sstate-cache-management.sh -d -y"