Skip to content

[ACTIONS] Rework workflow to allow using upload-artifact v4 #460

[ACTIONS] Rework workflow to allow using upload-artifact v4

[ACTIONS] Rework workflow to allow using upload-artifact v4 #460

Workflow file for this run

name: build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
strategy:
matrix:
hw_version: [hw1, hw2]
br_config:
[3do, cdi, dreamcast, gamecube, gbahd, genesis, jaguar, jvs_arcade, n64, nes,
parallel_1p, parallel_1p_3v3, parallel_2p, parallel_2p_3v3, pc_engine, pcfx,
playstation, saturn, snes, universal, virtualboy, wii_extension]
include:
- hw_version: dbg
br_config: pad_test
- hw_version: dbg
br_config: qemu
- hw_version: dbg
br_config: qemu_bt_trace_replay
- hw_version: dbg
br_config: qemu_bt_trace_replay_test
runs-on: ubuntu-latest
container:
image: ghcr.io/darthcloud/idf-blueretro:v5.3.0_2024-02-18
outputs:
br_version: ${{ env.br_version }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Build with ESP-IDF
run: |
. $IDF_PATH/export.sh
echo "br_version=$(git describe --always --tags --dirty)" >> $GITHUB_ENV
rm -fr build
echo "$(git describe --always --tags --dirty) ${{ matrix.hw_version }} ${{ matrix.br_config }}" | cut -c -31 > version.txt
cat version.txt
cp configs/${{ matrix.hw_version }}/${{ matrix.br_config }} sdkconfig
BR_HW=_${{ matrix.hw_version }} BR_SYS=_${{ matrix.br_config }} idf.py reconfigure build
- name: Copy OTA initial binary
working-directory: ./build
run: |
mkdir ota
mv ota_data_initial.bin ota/
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.hw_version }}_${{ matrix.br_config }}
path: |
build/partition_table/partition-table.bin
build/bootloader/bootloader.bin
build/ota/ota_data_initial.bin
build/BlueRetro*.bin
if-no-files-found: error
package:
needs: build
runs-on: ubuntu-latest
steps:
- name: Merge Artifacts HW1
uses: actions/upload-artifact/merge@v4
with:
name: ${{ needs.build.outputs.br_version }}_hw1
pattern: hw1*
delete-merged: true
- name: Merge Artifacts HW2
uses: actions/upload-artifact/merge@v4
with:
name: ${{ needs.build.outputs.br_version }}_hw2
pattern: hw2*
delete-merged: true
- name: Merge Artifacts DBG
uses: actions/upload-artifact/merge@v4
with:
name: ${{ needs.build.outputs.br_version }}_dbg
pattern: dbg*
delete-merged: true