Skip to content

GCC+LLD Build

GCC+LLD Build #230

name: GCC+LLD Build
on:
push:
schedule:
- cron: '0 0 * * 0,4'
env:
GITHUB_EMAIL: ${{ secrets.EMAIL }}
GITHUB_TOKEN: ${{ secrets.API_TOKEN_GITHUB }}
GITHUB_USER: ${{ secrets.USERNAME }}
BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
CHAT_ID: ${{ secrets.CHAT }}
jobs:
build-arm64-tc:
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- uses: actions/checkout@v4
- name: Set build date
id: get-date
run: |
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
echo ::set-output name=date::$(/bin/date -u "+%Y%m%d")
- name: Setup
run: |
sudo dnf groupinstall "Development tools" -y
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel binutils-devel g++ texinfo bison flex cmake which ninja-build clang lld bzip2 binutils-arm-linux-gnu binutils-aarch64-linux-gnu -y
- name: Build & Push
run: |
git config --global user.name "${GITHUB_USER}"
git config --global user.email "${GITHUB_EMAIL}"
git clone https://"${GITHUB_USER}":"${GITHUB_TOKEN}"@github.com/mvaisakh/arm64-gcc ../gcc-arm64 -b gcc-master
rm -rf ../gcc-arm64/*
chmod a+x build-*.sh
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" -d chat_id="${CHAT_ID}" -d "disable_web_page_preview=true" -d "parse_mode=html" -d text="<b>Starting ARM64 GCC Build</b>"
./build-gcc.sh -a arm64
./build-lld.sh -a arm64
script_dir=$(pwd)
cd ../gcc-arm64
./bin/aarch64-elf-gcc -v 2>&1 | tee /tmp/gcc-version
./bin/aarch64-elf-ld.lld -v 2>&1 | tee /tmp/lld-arm64-version
bash "$script_dir/strip-binaries.sh"
git add . -f
git commit -as -m "Import ARM64 GCC ${{ steps.get-date.outputs.date }}" -m "Build completed on: $(/bin/date)" -m "Configuration: $(/bin/cat /tmp/gcc-version)" -m "LLD: $(/bin/cat /tmp/lld-arm64-version)"
git push origin gcc-master -f
- uses: yanzay/[email protected]
if: always()
with:
chat: ${{ secrets.CHAT }} # user id or channel name secret
token: ${{ secrets.TELEGRAM_BOT_TOKEN }} # token secret
status: ${{ job.status }} # do not modify this line
build-arm-tc:
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- uses: actions/checkout@v4
- name: Set build date
id: get-date
run: |
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
echo ::set-output name=date::$(/bin/date -u "+%Y%m%d")
- name: Setup
run: |
sudo dnf groupinstall "Development tools" -y
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel binutils-devel g++ texinfo bison flex cmake which ninja-build clang lld bzip2 -y
- name: Build & Push
run: |
git config --global user.name "${GITHUB_USER}"
git config --global user.email "${GITHUB_EMAIL}"
git clone https://"${GITHUB_USER}":"${GITHUB_TOKEN}"@github.com/mvaisakh/gcc-arm ../gcc-arm -b gcc-master
rm -rf ../gcc-arm/*
chmod a+x build-*.sh
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" -d chat_id="${CHAT_ID}" -d "disable_web_page_preview=true" -d "parse_mode=html" -d text="<b>Starting ARM (32-bit) GCC Build</b>"
./build-gcc.sh -a arm
./build-lld.sh -a arm
script_dir=$(pwd)
cd ../gcc-arm
./bin/arm-eabi-gcc -v 2>&1 | tee /tmp/gcc-arm-version
./bin/arm-eabi-ld.lld -v 2>&1 | tee /tmp/lld-arm-version
bash "$script_dir/strip-binaries.sh"
git add . -f
git commit -as -m "Import ARM GCC ${{ steps.get-date.outputs.date }}" -m "Build completed on: $(/bin/date)" -m "Configuration: $(/bin/cat /tmp/gcc-arm-version)" -m "LLD: $(/bin/cat /tmp/lld-arm-version)"
git push origin gcc-master -f
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" -d chat_id="${CHAT_ID}" -d "disable_web_page_preview=true" -d "parse_mode=html" -d text="It's $(date +%A) my dudes!"
- uses: yanzay/[email protected]
if: always()
with:
chat: ${{ secrets.CHAT }} # user id or channel name secret
token: ${{ secrets.TELEGRAM_BOT_TOKEN }} # token secret
status: ${{ job.status }} # do not modify this line