Skip to content

Msys2 depfree build #191

Msys2 depfree build

Msys2 depfree build #191

Workflow file for this run

##############################################################################
# Copyright Christopher Kormanyos 2023.
# Distributed under The Unlicense.
name: avr-gcc-build
on:
push:
branches:
- '**'
pull_request:
schedule:
- cron: '30 10 1 * *' # run at 10:30 AM every first day of the month UTC (see also https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules?hl=en)
jobs:
avr-gcc-build-native:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
buildname: [ x86_64-linux-gnu ]
hostname: [ x86_64-linux-gnu ]
branchname: [ trunk, gcc-13 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- name: update-build-essentials
run: sudo apt install xz-utils autoconf texinfo
- name: avr-gcc-010-make-prereq_binutils
run: |
echo "run avr-gcc-010-make-prereq_binutils.sh"
./avr-gcc-010-make-prereq_binutils.sh ${{ matrix.buildname }} ${{ matrix.hostname }} ${{ matrix.branchname }}
- name: avr-gcc-010-make-prereq_binutils-verify
run: |
echo "verify build binutils"
ls -la ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/bin
ls -la ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/bin/avr-ld
- name: avr-gcc-clone-gcc
run: |
echo "clone gcc-mirror/gcc"
if [ ${{ matrix.branchname }} == 'trunk' ]; then
git clone -b ${{ matrix.branchname }} git://gcc.gnu.org/git/gcc.git ${{ runner.workspace }}/avr-gcc-build/gcc_build/gcc-${{ matrix.branchname }}-avr
else
git clone -b releases/${{ matrix.branchname }} git://gcc.gnu.org/git/gcc.git ${{ runner.workspace }}/avr-gcc-build/gcc_build/gcc-${{ matrix.branchname }}-avr
fi
- name: avr-gcc-020-make-gcc
run: |
echo "run avr-gcc-020-make-gcc.sh"
./avr-gcc-020-make-gcc.sh ${{ matrix.buildname }} ${{ matrix.hostname }} ${{ matrix.branchname }}
- name: avr-gcc-020-make-gcc-verify
run: |
echo "verify build gcc"
ls -la ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/bin
ls -la ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/bin/avr-gcc
- name: avr-gcc-clone-avr-libc
run: |
echo "clone avrdudes/avr-libc"
git clone -b main --depth 1 https://github.com/avrdudes/avr-libc.git ${{ runner.workspace }}/avr-gcc-build/gcc_build/avr-libc
cd ${{ runner.workspace }}/avr-gcc-build/gcc_build/avr-libc
- name: avr-gcc-030-make-avr-libc
run: |
echo "run avr-gcc-030-make-avr-libc.sh"
./avr-gcc-030-make-avr-libc.sh ${{ matrix.buildname }} ${{ matrix.hostname }} ${{ matrix.branchname }}
- name: avr-gcc-030-make-avr-libc-verify
run: |
echo "verify build avr-libc"
ls -la ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/lib/gcc/avr
- uses: actions/upload-artifact@v4
with:
name: gcc-${{ matrix.branchname }}-avr-${{ matrix.hostname }}
path: ${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr
- name: avr-gcc-test-with-real-time-cpp
run: |
echo "test avr-gcc with real-time-cpp"
echo "clone ckormanyos/real-time-cpp"
git clone -b master --depth 1 https://github.com/ckormanyos/real-time-cpp.git ${{ runner.workspace }}/avr-gcc-build/real-time-cpp
cd ${{ runner.workspace }}/avr-gcc-build/real-time-cpp/ref_app
PATH=${{ runner.workspace }}/avr-gcc-build/local/gcc-${{ matrix.branchname }}-avr/bin:"$PATH"
./target/build/build.sh avr rebuild
ls -la bin/ref_app.elf bin/ref_app.hex
ls -la bin/ref_app.map bin/ref_app.s19
ls -la bin/ref_app_cppfilt.txt
ls -la bin/ref_app_nm.txt
ls -la bin/ref_app_readelf.txt
ls -la bin/ref_app_size.txt