diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..602cb1d --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,75 @@ +name: SD2PSXtd +on: + push: + schedule: + - cron: "0 6 * * *" + +jobs: + sd2psxtd: + name: SD2PSXtd + runs-on: ubuntu-latest + strategy: + matrix: + target: [SD2PSX, PMC+] + debug: [ON, OFF] + include: + - debug: ON + ext: -debug.uf2 + delay: 3 + - debug: OFF + ext: .uf2 + delay: 0 + - target: SD2PSX + filename: sd2psx + - target: PMC+ + filename: pmc+ + + steps: + - name: Installing dependencies & Cloning repository + run: | + apt-get update + apt-get install -y \ + git \ + cmake \ + clangd \ + ninja-build \ + gcc-arm-none-eabi \ + libnewlib-arm-none-eabi \ + libstdc++-arm-none-eabi-newlib \ + python3 \ + python3-venv + git clone --recursive https://github.com/sd2psXtd/firmware.git ${{ gitea.workspace }} + export PICO_SDK_PATH=$PWD/ext/pico-sdk + export PICO_TOOLCHAIN_PATH=/usr + cd ${{ gitea.workspace }} + git fetch origin --tags --force + TAG=$(git describe --tags --exact-match HEAD --exclude=latest --exclude=nightly) || true + echo "SD2PSX_VERSION=${TAG}" >> $GITEA_ENV + echo "SD2PSX_RLS_TAG=latest" >> $GITEA_ENV + echo "${TAG}" + + - name: Build the firmware + run: | + cd ${{ gitea.workspace }} + cmake -B build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DDEBUG_USB_UART:BOOL=${{ matrix.debug }} -DVARIANT:STRING=${{ matrix.target }} -DDEBUG_STARTUP_DELAY=${{ matrix.delay }} -G "Unix Makefiles" + cmake --build build + + - name: Move Files + run: | + mkdir -p ${{ gitea.workspace }}/output + mv ${{ gitea.workspace }}/*/*.uf2 ${{ gitea.workspace }}/output + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: ${{ matrix.filename }}${{ matrix.ext }} + path: | + ${{ gitea.workspace }}/output/${{ matrix.filename }}${{ matrix.ext }} + + - name: Upload Release + uses: akkuman/gitea-release-action@v1 + with: + name: "${{ env.SD2PSX_VERSION }}" + prerelease: false + files: |- + ${{ gitea.workspace }}/output/${{ matrix.filename }}${{ matrix.ext }} \ No newline at end of file