Skip to content

Fix path issue

Fix path issue #8

Workflow file for this run

name: OLED Release Pipeline
on:
push:
tags:
- 'v*'
env:
TOOLCHAIN: "4.0.0.52"
DFP: "ATmega_DFP.3.6.299"
PROJECT_PATH: "demo"
OUTPUT_FOLDER: "output"
jobs:
build-firmware-m16a-tty-software-twi:
env:
DEVICE: "atmega16a"
FIRMWARE_NAME: "tty_sw_twi_m16a"
PREPROCESSOR: "F_CPU=12000000UL;SSD130X_HAL_PLATFORM=avr;SSD130X_USE_SOFT_TWI;FONT_STORE_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr0
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target tty_twi_m16a -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m16a-tty-software-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m16a-tty-hardware-twi:
env:
DEVICE: "atmega16a"
FIRMWARE_NAME: "tty_hw_twi_m16a"
PREPROCESSOR: "F_CPU=12000000UL;SSD130X_HAL_PLATFORM=avr;FONT_STORE_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr0
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target tty_twi_m16a -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m16a-tty-hardware-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m16a-frame-software-twi:
env:
DEVICE: "atmega16a"
FIRMWARE_NAME: "frame_sw_twi_m16a"
PREPROCESSOR: "F_CPU=12000000UL;SSD130X_HAL_PLATFORM=avr;SSD130X_USE_SOFT_TWI;FONT_STORE_IN_PROGMEM;FRAME_SPECIFIC_BACKGROUND;FRAME_SPECIFIC_BACKGROUND_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr0
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target frame_twi_m16a -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m16a-frame-software-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m16a-frame-hardware-twi:
env:
DEVICE: "atmega16a"
FIRMWARE_NAME: "frame_hw_twi_m16a"
PREPROCESSOR: "F_CPU=12000000UL;SSD130X_HAL_PLATFORM=avr;FONT_STORE_IN_PROGMEM;FRAME_SPECIFIC_BACKGROUND;FRAME_SPECIFIC_BACKGROUND_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr0
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target frame_twi_m16a -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m16a-frame-hardware-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m4808-tty-software-twi:
env:
DEVICE: "atmega4808"
FIRMWARE_NAME: "tty_sw_twi_m4808"
PREPROCESSOR: "F_CPU=20000000UL;SSD130X_HAL_PLATFORM=avr0;SSD130X_USE_SOFT_TWI;FONT_STORE_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target tty_twi_m4808 -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m4808-tty-software-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m4808-tty-hardware-twi:
env:
DEVICE: "atmega4808"
FIRMWARE_NAME: "tty_hw_twi_m4808"
PREPROCESSOR: "F_CPU=20000000UL;SSD130X_HAL_PLATFORM=avr0;TWI_PORTMUX=PORTMUX_TWI0_ALT2_gc;FONT_STORE_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target tty_twi_m4808 -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m4808-tty-hardware-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m4808-frame-software-twi:
env:
DEVICE: "atmega4808"
FIRMWARE_NAME: "frame_sw_twi_m4808"
PREPROCESSOR: "F_CPU=20000000UL;SSD130X_HAL_PLATFORM=avr0;SSD130X_USE_SOFT_TWI;FONT_STORE_IN_PROGMEM;FRAME_SPECIFIC_BACKGROUND;FRAME_SPECIFIC_BACKGROUND_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target frame_twi_m4808 -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m4808-frame-software-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
build-firmware-m4808-frame-hardware-twi:
env:
DEVICE: "atmega4808"
FIRMWARE_NAME: "frame_hw_twi_m4808"
PREPROCESSOR: "F_CPU=20000000UL;SSD130X_HAL_PLATFORM=avr0;TWI_PORTMUX=PORTMUX_TWI0_ALT2_gc;FONT_STORE_IN_PROGMEM;FRAME_SPECIFIC_BACKGROUND;FRAME_SPECIFIC_BACKGROUND_IN_PROGMEM"
runs-on: ubuntu-latest
steps:
- name: Fetch repository
uses: actions/checkout@v7
- name: Checkout submodules
run: |
git submodule update --init --recursive
git submodule update --remote --recursive
git rm -rf ./${{ env.PROJECT_PATH }}/lib/hal/avr
chmod 0777 ./${{ env.PROJECT_PATH }}/cmake/platforms/avr/usage-avr-size.sh
- name: Copy license
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./LICENSE.md ./${{ env.OUTPUT_FOLDER }}
- name: Install necessary packages
run: sudo apt-get install -y zip unzip cmake
- name: Install build tools
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SoftwareTools/avr8-gnu-toolchain-${{ env.TOOLCHAIN }}-linux.any.x86_64.tar.gz
tar -xf *.tar.gz
- name: Install DFP package
run: |
cd ./${{ env.PROJECT_PATH }}
wget https://packs.download.microchip.com/Microchip.${{ env.DFP }}.atpack
unzip *.atpack -d ./DFP
- name: Build firmware
run: |
cd ./${{ env.PROJECT_PATH }}
cmake -S . -B build \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/avr/toolchain-avr-gcc.cmake \
-DAVR_DEFINES:STRING="${{ env.PREPROCESSOR }}"
cmake --build build/ --target frame_twi_m4808 -j
- name: Copy firmware to output folder
run: |
mkdir -p ./${{ env.OUTPUT_FOLDER }}
cp ./${{ env.PROJECT_PATH }}/build/*.hex ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.hex
cp ./${{ env.PROJECT_PATH }}/build/*.map ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.map
cp ./${{ env.PROJECT_PATH }}/build/*.lss ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.lss
cp ./${{ env.PROJECT_PATH }}/build/*.eep ./${{ env.OUTPUT_FOLDER }}/${{ env.FIRMWARE_NAME }}.eep
- name: Archive build artifacts
run: |
tar -czvf build.tar.gz ./${{ env.OUTPUT_FOLDER }}
zip -r build.zip ./${{ env.OUTPUT_FOLDER }}
- name: Upload firmware artifacts
uses: actions/upload-artifact@v7
with:
name: firmware-m4808-frame-hardware-twi
path: ./${{ env.OUTPUT_FOLDER }}
retention-days: 1
create-release:
needs: [
build-firmware-m16a-tty-software-twi,
build-firmware-m16a-tty-hardware-twi,
build-firmware-m16a-frame-software-twi,
build-firmware-m16a-frame-hardware-twi,
build-firmware-m4808-tty-software-twi,
build-firmware-m4808-tty-hardware-twi,
build-firmware-m4808-frame-software-twi,
build-firmware-m4808-frame-hardware-twi
]
runs-on: ubuntu-latest
permissions:
contents: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
steps:
- name: Create Release
run: |
gh release create "${{ github.ref_name }}" \
--title "Release ${{ github.ref_name }}" \
--notes "Release ${{ github.ref_name }}"
- name: Download TTY Software-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m16a-tty-software-twi
path: ./artifact/avr-tty-software-twi
- name: Download TTY Hardware-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m16a-tty-hardware-twi
path: ./artifact/avr-tty-hardware-twi
- name: Download FRAME Software-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m16a-frame-software-twi
path: ./artifact/avr-frame-software-twi
- name: Download FRAME Hardware-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m16a-frame-hardware-twi
path: ./artifact/avr-frame-hardware-twi
- name: Download AVR0 TTY Software-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m4808-tty-software-twi
path: ./artifact/avr0-tty-software-twi
- name: Download AVR0 TTY Hardware-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m4808-tty-hardware-twi
path: ./artifact/avr0-tty-hardware-twi
- name: Download AVR0 FRAME Software-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m4808-frame-software-twi
path: ./artifact/avr0-frame-software-twi
- name: Download AVR0 FRAME Hardware-TWI Artifacts
uses: actions/download-artifact@v8
with:
name: firmware-m4808-frame-hardware-twi
path: ./artifact/avr0-frame-hardware-twi
- name: Display structure
run: ls -R ./artifact/
- name: Create Compressed File
run: |
cd ./artifact
tar -czvf ../firmware.tar.gz ./
zip -r ../firmware.zip ./
cd ..
- name: Upload files
run: |
gh release upload ${{ github.ref_name }} \
./artifact/avr-tty-software-twi/tty_sw_twi_m16a.hex \
./artifact/avr-tty-hardware-twi/tty_hw_twi_m16a.hex \
./artifact/avr-frame-software-twi/frame_sw_twi_m16a.hex \
./artifact/avr-frame-hardware-twi/frame_hw_twi_m16a.hex \
./artifact/avr0-tty-software-twi/tty_sw_twi_m4808.hex \
./artifact/avr0-tty-hardware-twi/tty_hw_twi_m4808.hex \
./artifact/avr0-frame-software-twi/frame_sw_twi_m4808.hex \
./artifact/avr0-frame-hardware-twi/frame_hw_twi_m4808.hex \
./firmware.zip \
./firmware.tar.gz
- name: Rollback release on failure
if: failure()
run: |
gh release delete "${{ github.ref_name }}" -y --cleanup-tag
git push --delete origin "${{ github.ref_name }}" || true