diff --git a/.github/workflows/deploy-wasm.yml b/.github/workflows/deploy-wasm.yml index cd48477d..d1b033df 100644 --- a/.github/workflows/deploy-wasm.yml +++ b/.github/workflows/deploy-wasm.yml @@ -1,41 +1,34 @@ name: Deploy WebAssembly Build - -on: +'on': push: tags: [v*] - workflow_dispatch: - + workflow_dispatch: null jobs: - build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install advancecomp zip' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make BUILDTYPE=release BINARY=aaaaxy-js-wasm.wasm' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - GOARCH: wasm - GOOS: js - - - name: Steal/acquire wasm_exec.js - run: 'cp -v "$(go env GOROOT)/misc/wasm/wasm_exec.js" .' - env: - GOARCH: wasm - GOOS: js - - - name: Deploy - env: - DEPLOY_URL: ${{ secrets.DEPLOY_URL }} - run: 'tar cvzf - aaaaxy-js-wasm.wasm aaaaxy.html wasm_exec.js | base64 | curl -X POST -d @- "$DEPLOY_URL"' + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install advancecomp zip' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make BUILDTYPE=release BINARY=aaaaxy-js-wasm.wasm' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + GOARCH: wasm + GOOS: js + - name: Steal/acquire wasm_exec.js + run: 'cp -v "$(go env GOROOT)/misc/wasm/wasm_exec.js" .' + env: + GOARCH: wasm + GOOS: js + - name: Deploy + env: + DEPLOY_URL: ${{ secrets.DEPLOY_URL }} + run: 'tar cvzf - aaaaxy-js-wasm.wasm aaaaxy.html wasm_exec.js | base64 | curl + -X POST -d @- "$DEPLOY_URL"' diff --git a/.github/workflows/go-100percent.yml b/.github/workflows/go-100percent.yml index 9c595c2c..fb3ed76b 100644 --- a/.github/workflows/go-100percent.yml +++ b/.github/workflows/go-100percent.yml @@ -1,52 +1,44 @@ name: 100% Single-Platform Test Run - -on: +'on': push: branches: - main schedule: - cron: '29 12 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Fetch Test Cases - env: - REGRESSION_TEST_URL: ${{ secrets.REGRESSION_TEST_URL }} - run: 'curl -o testcases.zip "$REGRESSION_TEST_URL"/100percent-v14.zip' - - - name: Extract Test Cases - run: 'unzip testcases.zip' - - - name: Test - # Also logging entity defaults so we can generate objecttypes.xml from that. - run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "your time: 1:04:11\\.250; your speedrun categories: 100%, All Notes and All Paths; try next: All Secrets\\." "./aaaaxy -debug_log_entity_defaults" *.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-100percent-linux-amd64 - path: | - *.dem.*.log - *.dem.*.png + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev + libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Fetch Test Cases + env: + REGRESSION_TEST_URL: ${{ secrets.REGRESSION_TEST_URL }} + run: 'curl -o testcases.zip "$REGRESSION_TEST_URL"/100percent-v14.zip' + - name: Extract Test Cases + run: 'unzip testcases.zip' + - name: Test + run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "your time: + 1:04:11\\.250; your speedrun categories: 100%, All Notes and All Paths; + try next: All Secrets\\." "./aaaaxy -debug_log_entity_defaults" *.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-100percent-linux-amd64 + path: | + *.dem.*.log + *.dem.*.png diff --git a/.github/workflows/go-anypercent.yml b/.github/workflows/go-anypercent.yml index 82877f30..8de6cb56 100644 --- a/.github/workflows/go-anypercent.yml +++ b/.github/workflows/go-anypercent.yml @@ -1,103 +1,87 @@ name: Any% Multi-Platform Test Run - -on: - pull_request: - push: +'on': + pull_request: null + push: null schedule: - cron: '55 22 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - build-linux-amd64: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-linux-amd64 - path: | - aaaaxy - assets/generated/ - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev + libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-linux-amd64 + path: | + aaaaxy + assets/generated/ test-linux-amd64: needs: build-linux-amd64 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libgl1 xvfb' - - - name: Download Binary - uses: actions/download-artifact@v4 - with: - name: aaaaxy-debug-linux-amd64 - - - name: Make Binary Executable - run: 'chmod +x aaaaxy' - - - name: Test - run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "your time: 0:14:05.500; your speedrun categories: Any%;" ./aaaaxy assets/demos/_anypercent.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-anypercent-linux-amd64 - path: | - *.dem.*.log - *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install libgl1 xvfb' + - name: Download Binary + uses: actions/download-artifact@v4 + with: + name: aaaaxy-debug-linux-amd64 + - name: Make Binary Executable + run: 'chmod +x aaaaxy' + - name: Test + run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "your time: + 0:14:05.500; your speedrun categories: Any%;" ./aaaaxy assets/demos/_anypercent.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-anypercent-linux-amd64 + path: | + *.dem.*.log + *.dem.*.png build-windows-amd64: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - GOARCH: amd64 - GOOS: windows - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-windows-amd64 - path: | - aaaaxy.exe - assets/generated/ - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install imagemagick libasound2-dev + libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + GOARCH: amd64 + GOOS: windows + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-windows-amd64 + path: | + aaaaxy.exe + assets/generated/ test-windows-amd64: needs: build-windows-amd64 runs-on: windows-latest @@ -105,86 +89,50 @@ jobs: run: shell: bash steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Download Binary - uses: actions/download-artifact@v4 - with: - name: aaaaxy-debug-windows-amd64 - - - name: Test - run: 'bash scripts/regression-test-demo.sh windows-amd64 "your time: 0:14:05.500; your speedrun categories: Any%;" "./aaaaxy.exe" assets/demos/_anypercent.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-anypercent-windows-amd64 - path: | - *.dem.*.log - *.dem.*.png - -# test-wine-amd64: -# needs: build-windows-amd64 -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# with: -# submodules: true -# -# - name: Install Dependencies -# run: 'sudo apt-get update && sudo apt-get -y install wine xvfb' -# -# - name: Download Binary -# uses: actions/download-artifact@v4 -# with: -# name: aaaaxy-debug-windows-amd64 -# -# - name: Test -# run: 'xvfb-run sh scripts/regression-test-demo.sh wine-amd64 "your time: 0:14:05.500; your speedrun categories: Any%;" "wine ./aaaaxy.exe" assets/demos/_anypercent.dem' -# -# - name: Archive Results -# if: ${{ always() }} -# uses: actions/upload-artifact@v4 -# with: -# name: regression-test-results-anypercent-wine-amd64 -# path: | -# *.dem.*.log -# *.dem.*.png - - # NOTE: Builds with disabled tests follow. + - uses: actions/checkout@v4 + with: + submodules: true + - name: Download Binary + uses: actions/download-artifact@v4 + with: + name: aaaaxy-debug-windows-amd64 + - name: Test + run: 'bash scripts/regression-test-demo.sh windows-amd64 "your time: 0:14:05.500; + your speedrun categories: Any%;" "./aaaaxy.exe" assets/demos/_anypercent.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-anypercent-windows-amd64 + path: | + *.dem.*.log + *.dem.*.png build-windows-386: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - GOARCH: 386 - GOOS: windows - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-windows-386 - path: | - aaaaxy.exe - assets/generated/ - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install imagemagick libasound2-dev + libgl-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + GOARCH: 386 + GOOS: windows + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-windows-386 + path: | + aaaaxy.exe + assets/generated/ test-windows-386: needs: build-windows-386 runs-on: windows-latest @@ -192,58 +140,25 @@ jobs: run: shell: bash steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Download Mesa - run: 'curl -o mesa3d.7z -L https://github.com/pal1000/mesa-dist-win/releases/download/21.3.0/mesa3d-21.3.0-release-msvc.7z' - - - name: Extract Mesa - run: '7z e mesa3d.7z x86/\*.dll' - - - name: Download Binary - uses: actions/download-artifact@v4 - with: - name: aaaaxy-debug-windows-386 - - - name: Test - run: 'bash scripts/regression-test-demo.sh windows-386 "your time: 0:14:05.500; your speedrun categories: Any%;" "./aaaaxy.exe" assets/demos/_anypercent.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-anypercent-windows-386 - path: | - *.dem.*.log - *.dem.*.png - -# test-wine-386: -# needs: build-windows-386 -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v4 -# with: -# submodules: true -# -# - name: Install Dependencies -# run: 'sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get -y install wine wine32 xvfb' -# -# - name: Download Binary -# uses: actions/download-artifact@v4 -# with: -# name: aaaaxy-debug-windows-386 -# -# - name: Test -# run: 'xvfb-run sh scripts/regression-test-demo.sh wine-386 "your time: 0:14:05.500; your speedrun categories: Any%;" "wine ./aaaaxy.exe" assets/demos/_anypercent.dem' -# -# - name: Archive Results -# if: ${{ always() }} -# uses: actions/upload-artifact@v4 -# with: -# name: regression-test-results-anypercent-wine-386 -# path: | -# *.dem.*.log -# *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Download Mesa + run: 'curl -o mesa3d.7z -L https://github.com/pal1000/mesa-dist-win/releases/download/21.3.0/mesa3d-21.3.0-release-msvc.7z' + - name: Extract Mesa + run: '7z e mesa3d.7z x86/\*.dll' + - name: Download Binary + uses: actions/download-artifact@v4 + with: + name: aaaaxy-debug-windows-386 + - name: Test + run: 'bash scripts/regression-test-demo.sh windows-386 "your time: 0:14:05.500; + your speedrun categories: Any%;" "./aaaaxy.exe" assets/demos/_anypercent.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-anypercent-windows-386 + path: | + *.dem.*.log + *.dem.*.png diff --git a/.github/workflows/go-buildonly.yml b/.github/workflows/go-buildonly.yml index d804ed66..850c3f0d 100644 --- a/.github/workflows/go-buildonly.yml +++ b/.github/workflows/go-buildonly.yml @@ -1,144 +1,91 @@ name: Multi-Platform Test Build - -on: - pull_request: - push: +'on': + pull_request: null + push: null schedule: - cron: '50 20 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - build-js-wasm: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install zip' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - ADVZIP: ':' - GOARCH: wasm - GOOS: js - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-wasm - path: | - aaaaxy - assets/generated/ - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install zip' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + ADVZIP: ':' + GOARCH: wasm + GOOS: js + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-wasm + path: | + aaaaxy + assets/generated/ build-android-all: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install zip' - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' - - - name: Set up Android SDK - uses: android-actions/setup-android@v3 - - - name: Set up Android NDK - id: setup-ndk - uses: nttld/setup-ndk@v1 - with: - ndk-version: r25c - add-to-path: false - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'cd AndroidStudioProjects/AAAAXY/ && ./gradlew assembleDebug -Paaaaxy_build_use_version_file=true' - env: - ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} - ADVZIP: ':' - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-android-arm64 - path: | - AndroidStudioProjects/AAAAXY/app/build/outputs/apk/debug/app-debug.apk - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install zip' + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + - name: Set up Android SDK + uses: android-actions/setup-android@v3 + - name: Set up Android NDK + id: setup-ndk + uses: nttld/setup-ndk@v1 + with: + ndk-version: r25c + add-to-path: false + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'cd AndroidStudioProjects/AAAAXY/ && ./gradlew assembleDebug -Paaaaxy_build_use_version_file=true' + env: + ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} + ADVZIP: ':' + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-android-arm64 + path: | + AndroidStudioProjects/AAAAXY/app/build/outputs/apk/debug/app-debug.apk build-darwin-amd64: runs-on: macos-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Archive Binary - uses: actions/upload-artifact@v4 - with: - name: aaaaxy-debug-darwin-amd64 - path: | - aaaaxy - assets/generated/ - -# Disabled due to lack of OpenGL 3.2 support. -# test-darwin-amd64: -# needs: build-darwin-amd64 -# runs-on: macos-latest -# steps: -# - uses: actions/checkout@v4 -# with: -# submodules: true -# -# - name: Download Binary -# uses: actions/download-artifact@v4 -# with: -# name: aaaaxy-debug-darwin-amd64 -# -# - name: Make Binary Executable -# run: 'chmod +x aaaaxy' -# -# - name: Enable Software Rendering -# run: 'sh scripts/macos_gl_allow_software.sh ./aaaaxy' -# -# - name: Test -# # NOTE: When changing the path ./aaaaxy, likely need to also change the CFBundleExecutable in scripts/Info.plist.sh. -# run: 'sh scripts/regression-test-demo.sh darwin-amd64 "your time: 0:14:05.500; your speedrun categories: Any%;" ./aaaaxy assets/demos/_anypercent.dem' -# -# - name: Archive Results -# if: ${{ always() }} -# uses: actions/upload-artifact@v4 -# with: -# name: regression-test-results-anypercent-darwin-amd64 -# path: | -# *.dem.*.log -# *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Archive Binary + uses: actions/upload-artifact@v4 + with: + name: aaaaxy-debug-darwin-amd64 + path: | + aaaaxy + assets/generated/ diff --git a/.github/workflows/go-current.yml b/.github/workflows/go-current.yml index a7c234d5..21172766 100644 --- a/.github/workflows/go-current.yml +++ b/.github/workflows/go-current.yml @@ -1,53 +1,44 @@ name: Go But With Current Dependencies - -on: +'on': schedule: - cron: '51 11 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install graphviz libasound2-dev libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '>=1.22' - check-latest: true - - - name: Remove Module Replacements - run: 'sed -i -e "s,^replace ,//replace ," go.mod' - - - name: Update - run: 'make mod-update' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - AAAAXY_DIFF_ASSETS: true - AAAAXY_GENERATE_ASSETS: true - - - name: Vet - run: 'make vet' - - - name: Test - run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "on track for Any%, All Paths, No Teleports and No Coil" ./aaaaxy assets/demos/benchmark.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-benchmark-linux-amd64 - path: | - *.dem.*.log - *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install graphviz imagemagick + libasound2-dev libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev + libxrandr-dev libxxf86vm-dev xvfb' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '>=1.22' + check-latest: true + - name: Remove Module Replacements + run: 'sed -i -e "s,^replace ,//replace ," go.mod' + - name: Update + run: 'make mod-update' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + AAAAXY_DIFF_ASSETS: true + AAAAXY_GENERATE_ASSETS: true + - name: Vet + run: 'make vet' + - name: Test + run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64 "on track for + Any%, All Paths, No Teleports and No Coil" ./aaaaxy assets/demos/benchmark.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-benchmark-linux-amd64 + path: | + *.dem.*.log + *.dem.*.png diff --git a/.github/workflows/go-macosbundle.yml b/.github/workflows/go-macosbundle.yml index 4d7c2a18..0492c50b 100644 --- a/.github/workflows/go-macosbundle.yml +++ b/.github/workflows/go-macosbundle.yml @@ -1,77 +1,50 @@ name: 0% macOS App Bundle Test Run - -on: - pull_request: - push: +'on': + pull_request: null + push: null schedule: - cron: '3 17 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - test: runs-on: macos-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'brew install imagemagick' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build Specific - run: 'sh scripts/binary-release-compile.sh' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - AAAAXY_ZIPFILE: aaaaxy.zip - ADVZIP: ':' - - - name: Enable Software Rendering - run: 'sh scripts/macos_gl_allow_software.sh packaging/AAAAXY.app/Contents/MacOS/*' - - - name: Register with LaunchServices - run: '/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -R -f packaging/AAAAXY.app' - - - name: Clean DAT file - run: 'rm aaaaxy.dat' - -# Disabled due to lack of OpenGL 3.2 support. -# - name: Test -# run: 'sh scripts/regression-test-demo.sh darwin-specific "on track for Any%, All Paths, No Teleports and No Coil" "open -n -W packaging/AAAAXY.app --args" assets/demos/benchmark.dem' - - - name: Build Universal - run: 'sh scripts/binary-release-compile.sh amd64 arm64' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - AAAAXY_ZIPFILE: aaaaxy.zip - ADVZIP: ':' - CGO_ENV_amd64: 'CGO_ENABLED=1 CC="clang -arch x86_64" CXX="clang++ -arch x86_64"' - CGO_ENV_arm64: 'CGO_ENABLED=1 CC="clang -arch arm64" CXX="clang++ -arch arm64"' - - - name: Enable Software Rendering - run: 'sh scripts/macos_gl_allow_software.sh packaging/AAAAXY.app/Contents/MacOS/*' - - - name: Register with LaunchServices - run: '/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -R -f packaging/AAAAXY.app' - - - name: Clean DAT file - run: 'rm aaaaxy.dat' - -# Disabled due to lack of OpenGL 3.2 support. -# - name: Test -# run: 'sh scripts/regression-test-demo.sh darwin-universal "on track for Any%, All Paths, No Teleports and No Coil" "open -n -W packaging/AAAAXY.app --args" assets/demos/benchmark.dem' -# -# - name: Archive Results -# if: ${{ always() }} -# uses: actions/upload-artifact@v3 -# with: -# name: regression-test-results-benchmark-darwin -# path: | -# *.dem.*.log -# *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'brew install imagemagick' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build Specific + run: 'sh scripts/binary-release-compile.sh' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + AAAAXY_ZIPFILE: aaaaxy.zip + ADVZIP: ':' + - name: Enable Software Rendering + run: 'sh scripts/macos_gl_allow_software.sh packaging/AAAAXY.app/Contents/MacOS/*' + - name: Register with LaunchServices + run: '/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister + -R -f packaging/AAAAXY.app' + - name: Clean DAT file + run: 'rm aaaaxy.dat' + - name: Build Universal + run: 'sh scripts/binary-release-compile.sh amd64 arm64' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + AAAAXY_ZIPFILE: aaaaxy.zip + ADVZIP: ':' + CGO_ENV_amd64: 'CGO_ENABLED=1 CC="clang -arch x86_64" CXX="clang++ -arch + x86_64"' + CGO_ENV_arm64: 'CGO_ENABLED=1 CC="clang -arch arm64" CXX="clang++ -arch + arm64"' + - name: Enable Software Rendering + run: 'sh scripts/macos_gl_allow_software.sh packaging/AAAAXY.app/Contents/MacOS/*' + - name: Register with LaunchServices + run: '/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister + -R -f packaging/AAAAXY.app' + - name: Clean DAT file + run: 'rm aaaaxy.dat' diff --git a/.github/workflows/go-translations.yml b/.github/workflows/go-translations.yml index eb78c991..a2494187 100644 --- a/.github/workflows/go-translations.yml +++ b/.github/workflows/go-translations.yml @@ -1,78 +1,69 @@ name: Go In All Languages - -on: - pull_request: - push: +'on': + pull_request: null + push: null schedule: - cron: '38 10 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: list-languages: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install graphviz libasound2-dev libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - check-latest: true - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Generate Language List - id: list-languages - run: 'rm -f l; xvfb-run sh -c "./aaaaxy -dump_languages > l"; for l in $(cat l); do all="$all,\"$l\""; done; echo "languages=[${all#,}]" | tee -a $GITHUB_OUTPUT' + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install graphviz libasound2-dev + libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev + libxxf86vm-dev xvfb' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + check-latest: true + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Generate Language List + id: list-languages + run: 'rm -f l; xvfb-run sh -c "./aaaaxy -dump_languages > l"; for l in $(cat + l); do all="$all,\"$l\""; done; echo "languages=[${all#,}]" | tee -a $GITHUB_OUTPUT' outputs: languages: ${{ steps.list-languages.outputs.languages }} - build: needs: list-languages runs-on: ubuntu-latest strategy: matrix: language: ${{ fromJson(needs.list-languages.outputs.languages) }} - env: language: ${{ matrix.language }} - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install graphviz libasound2-dev libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev xvfb' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - check-latest: true - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Test in language ${{ matrix.language }} - run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64-$language "translated to" "./aaaaxy -language=$language" assets/demos/benchmark.dem' - - - name: Archive Results - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: regression-test-results-benchmark-${{ matrix.language }}-linux-amd64 - path: | - *.dem.*.log - *.dem.*.png - + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install graphviz libasound2-dev + libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev + libxxf86vm-dev xvfb' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + check-latest: true + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Test in language ${{ matrix.language }} + run: 'xvfb-run sh scripts/regression-test-demo.sh linux-amd64-$language "translated + to" "./aaaaxy -language=$language" assets/demos/benchmark.dem' + - name: Archive Results + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: regression-test-results-benchmark-${{ matrix.language }}-linux-amd64 + path: | + *.dem.*.log + *.dem.*.png diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 7d9d314d..1ac79400 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -1,33 +1,27 @@ name: Go Vet - -on: - pull_request: - push: +'on': + pull_request: null + push: null schedule: - cron: '58 12 * * *' - workflow_dispatch: - + workflow_dispatch: null jobs: - build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Install Dependencies - run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - - name: Build - run: 'make' - env: - AAAAXY_BUILD_USE_VERSION_FILE: true - - - name: Vet - run: 'make vet' + - uses: actions/checkout@v4 + with: + submodules: true + - name: Install Dependencies + run: 'sudo apt-get update && sudo apt-get -y install libasound2-dev libgl-dev + libgles-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev' + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Build + run: 'make' + env: + AAAAXY_BUILD_USE_VERSION_FILE: true + - name: Vet + run: 'make vet' diff --git a/.github/workflows/matrix-release.yml b/.github/workflows/matrix-release.yml index 76b47d58..4a5b2982 100644 --- a/.github/workflows/matrix-release.yml +++ b/.github/workflows/matrix-release.yml @@ -1,25 +1,20 @@ name: Post release on Matrix - -on: +'on': push: tags: [v*] - workflow_dispatch: - + workflow_dispatch: null jobs: matrix_action_job: runs-on: ubuntu-latest name: Send Message to Matrix Room steps: - - - name: Checkout - uses: actions/checkout@v4 - - - name: matrix-commit - uses: imbev/matrix-commit@v1 - - with: - homeserver: ${{ secrets.BOT_HOMESERVER }} - username: ${{ secrets.BOT_USERNAME }} - access_token: ${{ secrets.BOT_ACCESS_TOKEN }} - room_id: ${{ secrets.ROOM_ID }} - message: "#### New Release:" + - name: Checkout + uses: actions/checkout@v4 + - name: matrix-commit + uses: imbev/matrix-commit@v1 + with: + homeserver: ${{ secrets.BOT_HOMESERVER }} + username: ${{ secrets.BOT_USERNAME }} + access_token: ${{ secrets.BOT_ACCESS_TOKEN }} + room_id: ${{ secrets.ROOM_ID }} + message: "#### New Release:" diff --git a/third_party/SDL_GameControllerDB/assets/input b/third_party/SDL_GameControllerDB/assets/input index c2f0f3ea..793346bc 160000 --- a/third_party/SDL_GameControllerDB/assets/input +++ b/third_party/SDL_GameControllerDB/assets/input @@ -1 +1 @@ -Subproject commit c2f0f3eaf4ae95e55a1876b808d3c0b49fa61dbe +Subproject commit 793346bc4eaefe25af23c042cc4d74a52b9bc99e