Skip to content

Commit

Permalink
Added build and CI scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
fehlfarbe committed Aug 7, 2023
1 parent d8f16bb commit 34f8140
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 11 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/build_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Build Releases
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install PlatformIO Core
run: pip install --upgrade platformio

# - name: Build PlatformIO examples
# run: pio ci -e nanoatmega328 -e nanoatmega328_A4988driver -e nanoatmega328new -e nanoatmega328new_A4988driver -e promicro16 -e promicro16_A4988driver --project-conf platformio.ini src/*

- name: Build releases
run: ./build_envs.sh

# - name: Create Draft Release
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: ${{ github.ref }}
# release_name: Release ${{ github.ref }}
# draft: true
# prerelease: false

# - name: Upload releases
# id: upload_releases
# uses: actions/[email protected]
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: .releases/*.gz
# # asset_name: ${{ matrix.build }}.gz
# asset_content_type: application/zip
- uses: actions/checkout@v2
- run: |
set -x
assets=()
for asset in `ls ./release/*.hex`; do
assets+=("-a" "$asset")
done
tag_name="$(git describe --tags)"
hub release create "${assets[@]}" -m "$tag_name" "$tag_name"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
README.pdf
test/*
lib/*
include/*
include/*
release
24 changes: 24 additions & 0 deletions build_envs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

BUILD_DIR=".pio/build/"
RELEASE_DIR="./release"
TAG=$(git describe --tags)

# make release directory
mkdir -p ${RELEASE_DIR}

# build all configs
pio run

# copy builds to release
for config in `ls -d ${BUILD_DIR}/*/`
do
config_name=$(basename "$config")
if [[ "${config_name}" != *"debug"* ]]; then
echo $config
# gzip -c -f "${config}/firmware.hex" > "${RELEASE_DIR}/${config_name}-${TAG}.gz"
cp "${config}/firmware.hex" "${RELEASE_DIR}/${config_name}-${TAG}.hex"
fi
done

ls -lh ${RELEASE_DIR}
32 changes: 22 additions & 10 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,20 @@
default = nanoatmega328
platform = atmelavr
framework = arduino
upload_port = /dev/ttyUSB0
monitor_speed = 9600
monitor_port = /dev/ttyUSB1
lib_deps =
waspinator/AccelStepper@^1.61
waspinator/AccelStepper@^1.64
paulstoffregen/OneWire@^2.3.5
milesburton/DallasTemperature@^3.9.1
paulstoffregen/TimerOne@^1.1

[A988driver]
build_flags = -D USE_DRIVER
[A4988driver]
build_flags = -DUSE_DRIVER

[debug]
build_flags = -D DEBUG
build_flags = -DDEBUG
build_type = debug
debug_tool = simavr
lib_deps =
Expand All @@ -36,8 +38,18 @@ lib_deps =
[env:nanoatmega328]
board = nanoatmega328

[env:nanoatmega328_A988driver]
extends = env:nanoatmega328, A988driver
[env:nanoatmega328_A4988driver]
extends = env:nanoatmega328, A4988driver

[env:nanoatmega328_A4988driver_debug]
extends = env:nanoatmega328
build_flags = -DDEBUG -DUSE_DRIVER
build_type = debug
debug_tool = simavr
lib_deps =
${env.lib_deps}
https://github.com/Schallbert/SoftwareSerial.git#linkerErrorFixForNonOptimizedBuild


[env:nanoatmega328_debug]
extends = env:nanoatmega328, debug
Expand All @@ -46,8 +58,8 @@ extends = env:nanoatmega328, debug
[env:nanoatmega328new]
board = nanoatmega328new

[env:nanoatmega328new_A988driver]
extends = env:nanoatmega328new, A988driver
[env:nanoatmega328new_A4988driver]
extends = env:nanoatmega328new, A4988driver

[env:nanoatmega328new_debug]
extends = env:nanoatmega328new, debug
Expand All @@ -56,8 +68,8 @@ extends = env:nanoatmega328new, debug
[env:promicro16]
board = sparkfun_promicro16

[env:promicro16_A988driver]
extends = env:promicro16, A988driver
[env:promicro16_A4988driver]
extends = env:promicro16, A4988driver

[env:promicro16_debug]
extends = env:promicro16, debug

0 comments on commit 34f8140

Please sign in to comment.