Skip to content

Manual build

Manual build #1

Workflow file for this run

name: Manual build
# Only deploy when a new tag is pushed
# git tag v0.n
# git push origin v0.n
on:
workflow_dispatch:
# push:
# tags:
# - "v*.*-alpha"
# - "v*.*.*"
# - "v*.*"
# branches: [ main ]
# pull_request:
# branches: [ main ]
# Must match the project() name in CMakeLists.txt
env:
APP_NAME: picosmsPlus
# Allow this workflow to write back to the repository
permissions:
contents: write
# Build binaries and create release
jobs:
build-release:
runs-on: self-hosted
name: Build and create release
steps:
# - name: Install dependencies
# run: |
# sudo apt update && \
# sudo apt install -y git python3 && \
# sudo apt install -y cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libusb-1.0-0-dev
- name: Check out this repository with submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Update line containing pico_set_program_version() in CMakelists.txt with tag name.
run: |
# Extract the tag name that triggered the event and remove the 'refs/tags/' prefix
arm-none-eabi-gcc --version
input_string=${{ github.ref }}
prefix="refs/tags/"
tag="No versioninfo found"
if [[ $input_string == $prefix* ]]; then
echo "The string starts with 'refs/tags/'."
tag="${input_string#$prefix}"
echo "Tag is ${tag}"
sed -i "s/^[[:space:]]*pico_set_program_version(.*/pico_set_program_version(${{ env.APP_NAME }} \"$tag\")/" CMakeLists.txt
sed -i "s/VX.X/$tag/" menu.h
else
echo "The string does not start with 'refs/tags/'."
fi
grep "pico_set_program_version" CMakeLists.txt
grep SWVERSION menu.h
# - name: Install Pico SDk
# run: |
# cd $HOME && \
# git clone https://github.com/raspberrypi/pico-sdk.git --branch master && \
# cd pico-sdk/ && \
# git submodule update --init
# - name: Install picotool
# run: |
# cd $HOME && \
# export PICO_SDK_PATH=$HOME/pico-sdk && \
# git clone https://github.com/raspberrypi/picotool.git --branch master && \
# cd picotool/ && \
# mkdir build && \
# cd build && \
# cmake .. && \
# make
- name: Build all the .uf2 files
run: |
chmod +x build*.sh bld.sh || exit 1
export PICO_SDK_PATH=$HOME/pico2/pico-sdk
./buildAll.sh
# - name: Show release info using picotool
# run: |
# export PICO_SDK_PATH=$HOME/pico-sdk && \
# $HOME/picotool/build/picotool info releases/${{ env.APP_NAME }}AdaFruitDVISD.uf2 && \
# echo "-----------------------------" && \
# $HOME/picotool/build/picotool info releases/${{ env.APP_NAME }}FeatherDVI.uf2 && \
# echo "-----------------------------" && \
# $HOME/picotool/build/picotool info releases/${{ env.APP_NAME }}PimoroniDV.uf2 && \
# echo "-----------------------------" && \
# $HOME/picotool/build/picotool info releases/${{ env.APP_NAME }}WsRP2040PiZero.uf2
- name: Create release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
releases/${{ env.APP_NAME }}AdaFruitDVISD.uf2
releases/${{ env.APP_NAME }}FeatherDVI.uf2
releases/${{ env.APP_NAME }}PimoroniDV.uf2
releases/${{ env.APP_NAME }}WsRP2040PiZero.uf2
PCB/pico_nesPCB_v0.2.zip
body_path: CHANGELOG.md