Non-Release Build #9
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: Non-Release Build | |
| on: | |
| workflow_dispatch: | |
| branches: | |
| env: | |
| FILENAME_PREFIX: GNSSDO_Firmware | |
| FIRMWARE_VERSION_MAJOR: 9 | |
| FIRMWARE_VERSION_MINOR: 9 | |
| CORE_VERSION: 3.0.7 | |
| 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_v1_0.bin | |
| #File_Name_RC-Jan_26_2023.bin | |
| - name: Create file ending and compiler flags based on branch | |
| run: | | |
| if [[ $BRANCH == 'main' ]]; then | |
| echo "FILE_ENDING_UNDERSCORE=_v${{ env.FIRMWARE_VERSION_MAJOR }}_${{ env.FIRMWARE_VERSION_MINOR }}" >> "$GITHUB_ENV" | |
| echo "FILE_ENDING_NOUNDERSCORE=_v${{ env.FIRMWARE_VERSION_MAJOR }}.${{ env.FIRMWARE_VERSION_MINOR }}" >> "$GITHUB_ENV" | |
| echo "DEBUG_LEVEL=none" >> "$GITHUB_ENV" | |
| else | |
| echo "FILE_ENDING_UNDERSCORE=_RC-${{ steps.date.outputs.date }}" >> "$GITHUB_ENV" | |
| echo "FILE_ENDING_NOUNDERSCORE=_RC-${{ steps.dateNoScores.outputs.dateNoScores }}" >> "$GITHUB_ENV" | |
| echo "DEBUG_LEVEL=debug" >> "$GITHUB_ENV" | |
| fi | |
| - name: Run Dockerfile and copy files | |
| run: | | |
| cd ./Firmware | |
| docker build -t gnssdo_firmware --no-cache \ | |
| --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 DEBUG_LEVEL=${{ env.DEBUG_LEVEL }} \ | |
| . | |
| docker create --name=gnssdo_image gnssdo_firmware:latest | |
| mkdir ./build | |
| docker cp gnssdo_image:/GNSSDO_Firmware.ino.bin ./build | |
| docker cp gnssdo_image:/GNSSDO_Firmware.ino.elf ./build | |
| docker container rm gnssdo_image | |
| - 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 GNSSDO_Firmware.ino.bin ${{ env.ARTIFACT }} | |
| mv GNSSDO_Firmware.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 |