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 }}