1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-12 10:31:51 +00:00
openmptcprouter-feeds/.circleci/config.yml
Ycarus (Yannick Chabanois) 60619fa41d New CircleCI config to test...
2024-04-12 11:57:39 +02:00

99 lines
No EOL
4.2 KiB
YAML

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"]