diff options
Diffstat (limited to '.github/workflows/build_rpi.yml')
-rw-r--r-- | .github/workflows/build_rpi.yml | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/.github/workflows/build_rpi.yml b/.github/workflows/build_rpi.yml new file mode 100644 index 0000000..97e40a2 --- /dev/null +++ b/.github/workflows/build_rpi.yml @@ -0,0 +1,108 @@ +name: Build latest (RPI) +# trigger via either push to selected branches or on manual run +on: + push: + branches: + - main + - master + workflow_dispatch: + +concurrency: + group: ${{ github.ref }}-rpi + cancel-in-progress: true + +jobs: +#============================================ +# ================ 32 BIT RPI =============== +# =========================================== + build-RPI32: + runs-on: ubuntu-latest + container: + image: dockcross/linux-armv6-lts + steps: + - uses: actions/checkout@v4 + - name: Retrieve OpenGL and X11 dev files + run: | + mkdir src/rpi + cd src/rpi + wget https://github.com/ClassiCube/rpi-compiling-stuff/raw/main/rpi32.zip + unzip rpi32.zip + - name: Compile RPI 32 bit build + id: compile + env: + COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn" + RPI32_FLAGS: "-fvisibility=hidden -rdynamic -DCC_BUILD_ICON -DCC_BUILD_RPI -I rpi/include -L rpi/lib -Wl,--unresolved-symbols=ignore-in-shared-libs" + run: | + LATEST_FLAG=-DCC_COMMIT_SHA=\"$GITHUB_SHA\" + + cd src + $CC *.c ${{ env.COMMON_FLAGS }} ${{ env.RPI32_FLAGS }} $LATEST_FLAG -o cc-rpi32 -lGLESv2 -lEGL -lX11 -lXi -lm -lpthread -ldl -lrt + + + - uses: ./.github/actions/notify_failure + if: ${{ always() && steps.compile.outcome == 'failure' }} + with: + NOTIFY_MESSAGE: 'Failed to compile RPI 32 bit build' + WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' + + + - uses: ./.github/actions/upload_build + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + SOURCE_FILE: 'src/cc-rpi32' + DEST_NAME: 'cc-rpi32' + + + - uses: ./.github/actions/notify_success + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' + WORKFLOW_NAME: 'rpi32' + + +#============================================ +# ================ 64 BIT RPI =============== +# =========================================== + build-RPI64: + runs-on: ubuntu-latest + container: + image: dockcross/linux-arm64-lts + steps: + - uses: actions/checkout@v4 + - name: Retrieve OpenGL and X11 dev files + run: | + mkdir src/rpi + cd src/rpi + wget https://github.com/ClassiCube/rpi-compiling-stuff/raw/main/rpi64.zip + unzip rpi64.zip + - name: Compile RPI 64 bit build + id: compile + env: + COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn" + RPI64_FLAGS: "-fvisibility=hidden -rdynamic -DCC_BUILD_ICON -DCC_BUILD_RPI -I rpi/include -L rpi/lib -Wl,--unresolved-symbols=ignore-in-shared-libs" + run: | + LATEST_FLAG=-DCC_COMMIT_SHA=\"$GITHUB_SHA\" + + cd src + $CC *.c ${{ env.COMMON_FLAGS }} ${{ env.RPI64_FLAGS }} $LATEST_FLAG -o cc-rpi64 -lGLESv2 -lEGL -lX11 -lXi -lm -lpthread -ldl -lrt + + + - uses: ./.github/actions/notify_failure + if: ${{ always() && steps.compile.outcome == 'failure' }} + with: + NOTIFY_MESSAGE: 'Failed to compile RPI 64 bit build' + WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}' + + + - uses: ./.github/actions/upload_build + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + SOURCE_FILE: 'src/cc-rpi64' + DEST_NAME: 'cc-rpi64' + + + - uses: ./.github/actions/notify_success + if: ${{ always() && steps.compile.outcome == 'success' }} + with: + DESTINATION_URL: '${{ secrets.NOTIFY_URL }}' + WORKFLOW_NAME: 'rpi64' \ No newline at end of file |