name: CI on: schedule: # build every monday at 00:15 UTC - cron: '15 0 * * 1' push: pull_request: branches: [ master ] env: BUILD_TYPE: Release CMAKE_TOOLCHAIN_FILE: cmake/gcc-arm-none-eabi-8-2019-q3-update.cmake jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install toolchain run: sudo apt-get -yq install gcc-arm-none-eabi - name: Configure CMake run: | cmake -B ${{github.workspace}}/build \ -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \ -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/${{env.CMAKE_TOOLCHAIN_FILE}} - name: Build env: MAKEFLAGS: "-j" run: | cmake --build ${{github.workspace}}/build \ --config ${{env.BUILD_TYPE}} - name: Get current date id: date run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT - name: generate short hash id: vars run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Upload weekly build uses: actions/upload-artifact@v3 #only run step if event type was "schedule" if: github.event.schedule with: name: weekly_${{steps.date.outputs.date}}_${{steps.vars.outputs.sha_short}} path: ${{github.workspace}}/build/*_fw.bin - name: Upload dev snapshot uses: actions/upload-artifact@v3 if: ${{ github.event_name != 'schedule'}} with: name: build_${{steps.date.outputs.date}}_${{steps.vars.outputs.sha_short}} path: ${{github.workspace}}/build/*_fw.bin