Fix empty-buffer crash on '#'; CI now verifies all three PART_SELECT … #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: AVR Build | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install AVR toolchain | |
| run: | | |
| sudo apt-get update -q | |
| sudo apt-get install -y gcc-avr binutils-avr avr-libc avra | |
| - name: Locate avra include path | |
| run: | | |
| AVRA_INC=$(find /usr/share/avra -name "m32def.inc" 2>/dev/null | head -1 | xargs dirname) | |
| echo "AVRA_INC=$AVRA_INC" >> $GITHUB_ENV | |
| - name: Assemble Lab 6 (external interrupts) | |
| run: avra -I "$AVRA_INC" Lab6_Interrupts/lab6_interrupts.asm | |
| - name: Assemble Lab 7 Part 1 (timer LED roll) | |
| run: | | |
| sed 's/^\.equ PART_SELECT = ./.equ PART_SELECT = 1/' \ | |
| Lab7_Timers_Keypad/lab7_timers_keypad.asm > /tmp/lab7_p1.asm | |
| avra -I "$AVRA_INC" /tmp/lab7_p1.asm | |
| - name: Assemble Lab 7 Part 2 (keypad ASCII lookup) | |
| run: | | |
| sed 's/^\.equ PART_SELECT = ./.equ PART_SELECT = 2/' \ | |
| Lab7_Timers_Keypad/lab7_timers_keypad.asm > /tmp/lab7_p2.asm | |
| avra -I "$AVRA_INC" /tmp/lab7_p2.asm | |
| - name: Assemble Lab 7 Part 3 (SRAM message buffer) | |
| run: avra -I "$AVRA_INC" Lab7_Timers_Keypad/lab7_timers_keypad.asm | |
| - name: Assemble Lab 8 Part 2 (PWM servo) | |
| run: avra -I "$AVRA_INC" Lab8_PWM_ADC/lab8_part2_pwm_servo.asm | |
| - name: Compile Lab 8 Part 6 (ADC / C) | |
| run: | | |
| avr-gcc -mmcu=atmega32 -DF_CPU=1000000UL \ | |
| -Wall -Wextra -Os \ | |
| -c Lab8_PWM_ADC/lab8_part6_adc_servo.c \ | |
| -o /tmp/lab8_part6_adc_servo.o |