diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10fdf4a..901cdae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,16 +13,22 @@ jobs: platform: - os: linux arch: x86_64 + artifact: vanilla-linux-x86_64.tar.gz - os: linux arch: aarch64 + artifact: vanilla-linux-aarch64.tar.gz - os: windows arch: x86_64 + artifact: vanilla-windows-x86_64.zip - os: android arch: universal + artifact: vanilla-android-universal.apk - os: macos arch: universal + artifact: vanilla-macos-universal.zip - os: raspberrypi0w arch: armv6l + artifact: vanilla-raspberrypi0w-image.zip runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 @@ -49,15 +55,27 @@ jobs: run: | docker run -v "${{ github.workspace }}:/vanilla" -v "${{ github.workspace }}/build:/install" -e ANDROID_SIGNING_KEY=${{ secrets.ANDROID_SIGNING_KEY }} vanilla-${{ matrix.platform.os }}-${{ matrix.platform.arch }} - - name: Archive + - name: Archive (Linux) + if: ${{ matrix.platform.os == 'linux' }} run: | - tar czf vanilla-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz -C "${{ github.workspace }}/build" . + tar czf ${{ matrix.platform.artifact }} -C "${{ github.workspace }}/build" . + + - name: Archive (Windows/macOS/Raspberry Pi) + if: ${{ matrix.platform.os == 'windows' || matrix.platform.os == 'macos' || matrix.platform.os == 'raspberrypi0w' }} + run: | + cd build + zip -r ../${{ matrix.platform.artifact }} . + + - name: Archive (Android) + if: ${{ matrix.platform.os == 'android' }} + run: | + mv build/app-release.apk ${{ matrix.platform.artifact }} - name: Upload a Build Artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.platform.os }} ${{ matrix.platform.arch }} - path: vanilla-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz + path: ${{ matrix.platform.artifact }} - name: Upload Continuous Release if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'vanilla-wiiu/vanilla' }} @@ -66,5 +84,5 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl -fLOSs --retry 2 --retry-delay 60 https://github.com/probonopd/uploadtool/raw/master/upload.sh - bash upload.sh vanilla-${{ matrix.platform.os }}-${{ matrix.platform.arch }}.tar.gz + bash upload.sh ${{ matrix.platform.artifact }} diff --git a/buildroot/package/vanilla/vanilla.mk b/buildroot/package/vanilla/vanilla.mk index 9310bf9..fb48497 100644 --- a/buildroot/package/vanilla/vanilla.mk +++ b/buildroot/package/vanilla/vanilla.mk @@ -1,4 +1,4 @@ -VANILLA_VERSION = optimizations +VANILLA_VERSION = master VANILLA_SITE = $(call github,vanilla-wiiu,vanilla,$(VANILLA_VERSION)) VANILLA_LICENSE = GPL-2.0 VANILLA_LICENSE_FILES = LICENSE diff --git a/docker/raspberrypi0w/Dockerfile b/docker/raspberrypi0w/Dockerfile index 2a53618..b03cccd 100644 --- a/docker/raspberrypi0w/Dockerfile +++ b/docker/raspberrypi0w/Dockerfile @@ -28,9 +28,12 @@ RUN apt -y install which \ file \ bc \ findutils \ - awk \ - wget + gawk \ + wget \ + git RUN git clone --depth 1 --branch 2025.11-rc2 https://github.com/buildroot/buildroot.git /buildroot -ENTRYPOINT [ "/vanilla/docker/raspberripi0w/build.sh" ] +ENV FORCE_UNSAFE_CONFIGURE=1 + +ENTRYPOINT [ "/vanilla/docker/raspberrypi0w/build.sh" ] diff --git a/docker/raspberrypi0w/build.sh b/docker/raspberrypi0w/build.sh old mode 100644 new mode 100755 index 6be0bcf..2a93a3d --- a/docker/raspberrypi0w/build.sh +++ b/docker/raspberrypi0w/build.sh @@ -1,4 +1,9 @@ #!/bin/bash +set -e + make -C /buildroot O=/build BR2_EXTERNAL=/vanilla/buildroot vanilla_raspberrypi0w_defconfig make -C /buildroot O=/build + +cd /build/images +mv /build/images/sdcard.img /install/ diff --git a/pipe/linux/CMakeLists.txt b/pipe/linux/CMakeLists.txt index b90f3be..2737627 100644 --- a/pipe/linux/CMakeLists.txt +++ b/pipe/linux/CMakeLists.txt @@ -190,7 +190,14 @@ endif() ExternalProject_Add(hostap SOURCE_DIR ${HOSTAP_DIR} BINARY_DIR ${HOSTAP_DIR} - GIT_REPOSITORY https://github.com/rolandoislas/drc-hostap.git + + # HACK: Kind of silly that we have to do this, but Buildroot insists on + # setting GIT_DIR=. which fucks this up. So we have to write our own + # DOWNLOAD_COMMAND which explicitly unsets GIT_DIR to solve that. + #GIT_REPOSITORY https://github.com/rolandoislas/drc-hostap.git + DOWNLOAD_COMMAND + ${CMAKE_COMMAND} -E env GIT_DIR= + ${GIT_EXECUTABLE} clone --branch master --depth 1 https://github.com/rolandoislas/drc-hostap.git "${HOSTAP_DIR}" CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy_if_different conf/wpa_supplicant.config wpa_supplicant/.config BUILD_COMMAND env ${HOSTAP_ENV} make -C wpa_supplicant -j${CMAKE_BUILD_PARALLEL_LEVEL} wpa_supplicant libwpa_client.a INSTALL_COMMAND ""