ref: fdc89f1a20889c0295534f58dc2e82ce8c55a18b
.github/workflows/main.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
name: CI # Run this workflow whenever the build may be affected on: push: branches: [ master, develop ] paths-ignore: - 'doc/**' - '**.md' pull_request: branches: [ develop ] paths-ignore: - 'doc/**' - '**.md' jobs: build-firmware: 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 - name: Upload resources artifacts uses: actions/upload-artifact@v3 with: name: InfiniTime resources ${{ github.head_ref }} path: ./build/output/infinitime-resources-*.zip build-simulator: runs-on: ubuntu-latest steps: - name: Install cmake uses: lukka/get-cmake@v3.18.3 - name: Install SDL2 development package run: | sudo apt-get update sudo apt-get -y install libsdl2-dev - name: Install lv_font_conv run: npm i -g lv_font_conv@1.5.2 - name: Checkout source files uses: actions/checkout@v2 with: submodules: recursive - name: Get InfiniSim repo run: | git clone https://github.com/InfiniTimeOrg/InfiniSim.git --depth 1 --branch main git -C InfiniSim submodule update --init lv_drivers libpng - name: CMake # disable BUILD_RESOURCES as this is already done when building the firmware run: | cmake -G Ninja -S InfiniSim -B build_lv_sim -DInfiniTime_DIR="${PWD}" -DBUILD_RESOURCES=OFF - name: Build simulator executable run: | cmake --build build_lv_sim - name: Upload simulator executable uses: actions/upload-artifact@v3 with: name: infinisim-${{ github.head_ref }} path: build_lv_sim/infinisim |