version: 2.1 commands: set_environment_vars: steps: - run: command: | echo "export REPO_URL=https://github.com/ysurac/openmptcprouter" >> $BASH_ENV jobs: build: environment: REPO_URL: https://github.com/ysurac/openmptcprouter SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} OMR_FEED_URL: https://github.com/ysurac/openmptcprouter-feeds OMR_TARGET: << parameters.OMR_TARGET >> OMR_KERNEL: << parameters.OMR_KERNEL >> OMR_HOST: ${{ secrets.OMR_HOST }} OMR_PORT: ${{ secrets.OMR_PORT }} SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} ARGS: -av --delete-after TARGET: deploy/release/${{steps.branch_name.outputs.SOURCE_TAG}}/${{matrix.OMR_TARGET}} SOURCE: ${{ steps.branch_name.outputs.SOURCE_NAME }} KEY: ${{ secrets.PRIVATE_KEY }} USER: deploy HOST: ${{ secrets.OMR_DEPLOY_HOST }} PORT: ${{ secrets.OMR_DEPLOY_PORT }} docker: - image: dkrecruseastamazonawscom/circlecigolangpr:current steps: - checkout - set_environment_vars - run: command: | echo "SOURCE_NAME=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT echo "WORKSPACE=${GITHUB_WORKSPACE}" >> $GITHUB_OUTPUT - run: name: Prepare command: | sudo apt-get update sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc-s1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler python3-pyelftools - run: name: Free disk space command: | df -h sudo swapoff -a >/dev/null 2>&1 || true sudo rm -f /swapfile >/dev/null 2>&1 || true sudo apt-get autoremove -y >/dev/null 2>&1 || true sudo apt-get autoclean -y >/dev/null 2>&1 || true sudo rm -rf "/usr/local/share/boost" >/dev/null 2>&1 || true sudo rm -rf "$AGENT_TOOLSDIRECTORY" >/dev/null 2>&1 || true sudo rm -rf /usr/share/dotnet >/dev/null 2>&1 || true sudo rm -rf /usr/local/lib/android >/dev/null 2>&1 || true sudo rm -rf /opt/ghc >/dev/null 2>&1 || true sudo docker rmi $(docker images -qf "dangling=true") >/dev/null 2>&1 || true df -h - run: command: | git clone $REPO_URL omr if [ "$SOURCE_NAME" != "develop" ]; then cd omr pwd git fetch git checkout master else cd omr git checkout develop fi git pull pwd OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" sh build.sh prepare {tools,toolchain}/install -j$(nproc) || OMR_KERNEL="${OMR_KERNEL}" OMR_FEED_SRC="${SOURCE_NAME}" sh build.sh prepare {tools,toolchain}/install -j1 V=s make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source package/{compile,install,index} -j1 V=s make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install -j$(nproc) || make IGNORE_ERRORS=m -C $OMR_TARGET/$OMR_KERNEL/source target/install -j1 V=s mv ${OMR_TARGET}/${OMR_KERNEL}/source/bin ${GITHUB_WORKSPACE}/ - store_artifacts: path: /home/runner/work/omr/${{ matrix.OMR_TARGET }}/${{ matrix.OMR_KERNEL }}/source/bin workflows: openmptcprouter: jobs: - build: matrix: parameters: OMR_TARGET: ["bpi-r1","bpi-r2","bpi-r64","rpi2","rpi4","wrt32x","espressobin","r2s","rpi3","wrt3200acm","x86","x86_64","ubnt-erx","r4s","r7800","rutx12","rutx50","r5s","qnap-301w","rpi5","z8102ax_128m"] OMR_KERNEL: ["5.4","6.1","6.6"]