Skip to content

gnuton is testing out GitHub Actions 🚀 #34

gnuton is testing out GitHub Actions 🚀

gnuton is testing out GitHub Actions 🚀 #34

name: Containers
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
build-job:
name: build firmware
runs-on: ubuntu-latest
strategy:
matrix:
include:
- model: "dsl-ax82u"
sdk: "src-rt-5.02axhnd.675x"
ui: "none"
- model: "rt-ax82u"
sdk: "src-rt-5.02axhnd.675x"
ui: "none"
container:
image: gnuton/asuswrt-merlin-toolchains-docker:latest
env:
MERLINUPDATE: "y"
MODEL: ${{ matrix.model }}
SDK: ${{ matrix.sdk }}
UI: ${{ matrix.ui }}
GIT_REPO: "https://github.com/gnuton/asuswrt-merlin.ng.git"
PROJECT_DIR: "/project/asuswrt-merlin.ng"
HOME: "/home/docker"
options: --user docker
volumes:
- ${{ github.workspace }}:/project
steps:
- name: Set tag
run: echo "CIRCLE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: "Fetch code"
run: |
pwd
echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
sudo chmod 777 /project
cd /project
git clone --single-branch --depth 1 --branch master $GIT_REPO
ls /home/docker
- name: "Set version"
run: |
if [ -z "${CIRCLE_TAG}" ]; then
echo "Nothing to do. Not a release."
else
TAG=$(echo ${CIRCLE_TAG} | sed 's/^[^.]*\.//')
MAJOR_VER=$(echo "${TAG}" | sed -E 's/([0-9.]*)[_-]?(.*)/\1/')
MINOR_VER=$(echo "${TAG}" | sed -E 's/([0-9.]*)[_-]?(.*)/\2/')
sed -i "s/SERIALNO=.*/SERIALNO=${MAJOR_VER}/g" release/src-rt/version.conf
sed -i "s/EXTENDNO=.*/EXTENDNO=${MINOR_VER}/g" release/src-rt/version.conf
fi
- name: "Build"
run: |
echo "----- I am: $(id) -----"
cd ${PROJECT_DIR}/release/${SDK}
echo "----- Files in dir: $(pwd) -----"
ls -alh
echo "----- Setting toolchains for ${SDK} -----"
if [[ ${SDK} == "src-rt-5.04axhnd.675x" ]]; then
source /home/docker/envs/bcm-hnd-ax-4.19.sh
elif [[ ${SDK} == "src-rt-5.02axhnd.675x" ]]; then
source /home/docker/envs/bcm-hnd.sh
elif [[ ${SDK} == "src-rt-5.02axhnd" ]]; then
source /home/docker/envs/bcm-hnd.sh
else
echo "SDK not supported"
exit -1
fi
echo "----- hack-ish fix ---------"
sudo ln -sf /home/docker/am-toolchains/brcm-arm-hnd /opt/toolchains
echo "----- Check envs dir ---------"
ls -alh /home/docker/envs/
echo "----- Debugging env vars -----"
env
echo "------ Setting UI as $UI ---------"
if [[ ${UI} == "tuf" ]]; then
echo "Enabling TUF UI"
sed -i 's/TUF_UI=n/TUF_UI=y/' ${PROJECT_DIR}/release/src-rt/target.mak
fi
echo "----- BUILD -----"
if [[ ${SKIP_BUILD} == "Y" ]]; then
echo "Skipping build"
exit 0
fi
make "$MODEL"
echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
echo "🍏 This job's status is ${{ job.status }}."