fdad3fc985
Also fix issue where workflow fails on pull requests when the user who made the pull request doesn't have the secrets set. Also allow other workflows to be triggered manually. Also don't trigger any workflows on pull requests to master, as there shouldn't be any pull requests against master.
56 lines
2 KiB
YAML
56 lines
2 KiB
YAML
# GitHub Actions Workflow to build FreeRTOS Firmware for PineTime Smart Watch
|
|
# See https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud
|
|
# Based on https://github.com/JF002/InfiniTime/blob/master/doc/buildAndProgram.md
|
|
# and https://github.com/JF002/InfiniTime/blob/master/bootloader/README.md
|
|
|
|
name: Build PineTime Firmware
|
|
|
|
on:
|
|
push:
|
|
branches: [ master, develop ]
|
|
paths-ignore:
|
|
- 'doc/**'
|
|
- 'images/**'
|
|
pull_request:
|
|
branches: [ develop ]
|
|
paths-ignore:
|
|
- 'doc/**'
|
|
- 'images/**'
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: infinitime/infinitime-build
|
|
steps:
|
|
# This workaround fixes the error "unsafe repository (REPO is owned by someone else)".
|
|
# See https://github.com/actions/checkout/issues/760 and https://github.com/actions/checkout/issues/766
|
|
# The fix in "actions/checkout@v2" was not sufficient as the build process also uses git (to get the current
|
|
# commit hash, for example).
|
|
- name: Workaround permission issues
|
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
- name: Checkout source files
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
- name: Build
|
|
shell: bash
|
|
env:
|
|
SOURCES_DIR: .
|
|
run: /opt/build.sh all
|
|
# Unzip the package because Upload Artifact will zip up the files
|
|
- name: Unzip DFU package
|
|
run: unzip ./build/output/pinetime-mcuboot-app-dfu-*.zip -d ./build/output/pinetime-mcuboot-app-dfu
|
|
- name: Upload DFU artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: InfiniTime DFU ${{ github.head_ref }}
|
|
path: ./build/output/pinetime-mcuboot-app-dfu/*
|
|
- name: Upload MCUBoot image artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: InfiniTime MCUBoot image ${{ github.head_ref }}
|
|
path: ./build/output/pinetime-mcuboot-app-image-*.bin
|