Skip to content

Non-Release Build

Non-Release Build #8

name: Non-Release Build
on:
workflow_dispatch:
branches:
env:
FILENAME_PREFIX: RTK_Surveyor_Firmware
FIRMWARE_VERSION_MAJOR: 99
FIRMWARE_VERSION_MINOR: 99
#We limit the ESP32 core to v2.0.2
CORE_VERSION: 2.0.2
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Get current date
id: date
run: echo "date=$(date +'%b_%d_%Y')" >> $GITHUB_OUTPUT
- name: Get current date
id: dateNoScores
run: echo "dateNoScores=$(date +'%b %d %Y')" >> $GITHUB_OUTPUT
- name: Extract branch name
run: echo "BRANCH=${{github.ref_name}}" >> $GITHUB_ENV
#File_Name_v3_1.bin
#File_Name_RC-Jan_26_2023.bin
- name: Create file ending and compiler flags based on branch
run: |
echo "FILE_ENDING_UNDERSCORE=_RC-${{ steps.date.outputs.date }}" >> "$GITHUB_ENV"
echo "FILE_ENDING_NOUNDERSCORE=_RC-${{ steps.dateNoScores.outputs.dateNoScores }}" >> "$GITHUB_ENV"
echo "JSON_ENDING=-${{ steps.dateNoScores.outputs.dateNoScores }}" >> "$GITHUB_ENV"
echo "JSON_FILE_NAME=RTK-RC-Firmware.json" >> "$GITHUB_ENV"
echo "ENABLE_DEVELOPER=true" >> "$GITHUB_ENV"
echo "DEBUG_LEVEL=debug" >> "$GITHUB_ENV"
- name: Run Dockerfile and copy files
# The --quiet suppresses the build output, keeping the secrets safe
run: |
cd ./Firmware
echo "*** The docker build is quiet to protect the GitHub secrets ***"
docker build -t rtk_firmware --no-cache --quiet \
--build-arg CORE_VERSION=${{ env.CORE_VERSION }} \
--build-arg FIRMWARE_VERSION_MAJOR=${{ env.FIRMWARE_VERSION_MAJOR }} \
--build-arg FIRMWARE_VERSION_MINOR=${{ env.FIRMWARE_VERSION_MINOR }} \
--build-arg POINTPERFECT_TOKEN="${{ secrets.POINTPERFECT_TOKEN }}" \
--build-arg ENABLE_DEVELOPER=${{ env.ENABLE_DEVELOPER }} \
--build-arg DEBUG_LEVEL=${{ env.DEBUG_LEVEL }} \
.
docker create --name=rtk_container rtk_firmware:latest
mkdir ./build
docker cp rtk_container:/RTK_Surveyor.ino.bin ./build
docker cp rtk_container:/RTK_Surveyor.ino.elf ./build
docker cp rtk_container:/RTK_Surveyor/form.h ./RTK_Surveyor
docker container rm rtk_container
- name: Commit and push form.h
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add ./Firmware/RTK_Surveyor/form.h
git commit -m "Update form.h via Python"
git push origin ${{ env.BRANCH }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create artifact name
run: |
echo "ARTIFACT=${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}" >> $GITHUB_ENV
- name: Create artifact directory
run: |
cd ./Firmware/build/
mkdir ${{ env.ARTIFACT }}
mv RTK_Surveyor.ino.bin ${{ env.ARTIFACT }}
mv RTK_Surveyor.ino.elf ${{ env.ARTIFACT }}
- name: Upload artifact directory to action - avoid double-zip
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT }}
path: ./Firmware/build/${{ env.ARTIFACT }}
retention-days: 7