diff --git a/.github/workflows/build-firmware-explicit.yaml b/.github/workflows/build-firmware-explicit.yaml index d2d7ac9..bb9248e 100644 --- a/.github/workflows/build-firmware-explicit.yaml +++ b/.github/workflows/build-firmware-explicit.yaml @@ -1,27 +1,28 @@ -name: Firmware at GHA +name: Explicit Firmware at GHA on: -# push: + push: # pull_request: workflow_dispatch: jobs: build-firmware: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest, macos-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - # Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path - - name: Download & Install GCC + - name: Install Arm GNU Toolchain (arm-none-eabi-gcc) if: ${{ env.skip != 'true' }} - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - run: | - ext/rusefi/firmware/provide_gcc.sh - echo "::add-path::`pwd`/gcc-arm-none-eabi/bin" + uses: carlosperate/arm-none-eabi-gcc-action@v1 + with: + release: '12.3.Rel1' - uses: actions/setup-java@v4 with: @@ -31,11 +32,21 @@ jobs: - name: Test Compiler run: javac -version - - name: Install Tools + - name: Discover cores + if: ${{ matrix.os != 'macos-latest' }} + run: lscpu | egrep 'Model name|Socket|Thread|NUMA|CPU\(s\)' + + - name: Install required software (ubuntu) + if: ${{ matrix.os != 'macos-latest' }} run: | sudo bash ext/rusefi/misc/actions/add-ubuntu-latest-apt-mirrors.sh sudo apt-get install sshpass sshpass mtools + - name: Install required software (macos) + if: ${{ matrix.os == 'macos-latest' }} + run: | + brew install mtools zip dosfstools flock + - name: Removing other .ini files since we will be uploading working-directory: ext/rusefi/ run: rm -rf firmware/tunerstudio/generated/*.ini diff --git a/.github/workflows/build-firmware.yaml b/.github/workflows/build-firmware.yaml index f753122..b06aaba 100644 --- a/.github/workflows/build-firmware.yaml +++ b/.github/workflows/build-firmware.yaml @@ -3,8 +3,8 @@ name: Create Board Firmware on: schedule: - cron: '10 17 * * *' # build fresh every 5:10 PM - push: - pull_request: +# push: +# pull_request: workflow_dispatch: jobs: