From 2c90f636cb36417cd952b5a22ff038ee9f36e798 Mon Sep 17 00:00:00 2001 From: Archez Date: Sun, 26 May 2024 20:31:16 -0400 Subject: Activate all GH runners (#491) * activate all gh runners * fix arg placement --- .github/workflows/main.yml | 345 ++++++++++++++++++++++++--------------------- 1 file changed, 186 insertions(+), 159 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2fd3c53b0..747318a50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,52 +51,52 @@ jobs: # # 2ship.appimage # # readme.txt - build-windows-self-hosted: - runs-on: [self-hosted, Windows] - steps: - - name: Install dependencies - run: | - choco install ninja -y - choco install gzip -y - Add-Content $env:GITHUB_PATH $env:ChocolateyInstall - - uses: actions/checkout@v4 - with: - submodules: true - - name: Configure Developer Command Prompt - uses: ilammy/msvc-dev-cmd@v1 - - name: Copy Rom - run: Copy-Item -Path C:\baserom_mm.z64 -Destination ${{github.workspace}}/OTRExporter/baserom.z64 - - name: Build 2Ship - env: - VCPKG_ROOT: ${{github.workspace}}/vcpkg - run: | - set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" - cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release - cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10 - cmake --build build-windows --config Release --parallel 10 + # build-windows-self-hosted: + # runs-on: [self-hosted, Windows] + # steps: + # - name: Install dependencies + # run: | + # choco install ninja -y + # choco install gzip -y + # Add-Content $env:GITHUB_PATH $env:ChocolateyInstall + # - uses: actions/checkout@v4 + # with: + # submodules: true + # - name: Configure Developer Command Prompt + # uses: ilammy/msvc-dev-cmd@v1 + # - name: Copy Rom + # run: Copy-Item -Path C:\baserom_mm.z64 -Destination ${{github.workspace}}/OTRExporter/baserom.z64 + # - name: Build 2Ship + # env: + # VCPKG_ROOT: ${{github.workspace}}/vcpkg + # run: | + # set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" + # cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release + # cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10 + # cmake --build build-windows --config Release --parallel 10 - (cd build-windows && cpack) - cd .. - mv _packages/*.zip _packages/2ship-windows.zip - # Temporarily replaced with an upload to R2 until we go public - # - name: Unzip package - # run: Expand-Archive -Path 2ship-windows.zip -DestinationPath 2ship-windows - # - name: Upload build - # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} - # uses: actions/upload-artifact@v4 - # with: - # name: 2ship-windows - # path: 2ship-windows - - name: Upload build - if: ${{ startsWith(github.ref, 'refs/heads/develop') }} - uses: ryand56/r2-upload-action@latest - with: - r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} - r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} - r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} - r2-bucket: ${{ secrets.R2_BUCKET }} - source-dir: _packages - destination-dir: ./ + # (cd build-windows && cpack) + # cd .. + # mv _packages/*.zip _packages/2ship-windows.zip + # # Temporarily replaced with an upload to R2 until we go public + # # - name: Unzip package + # # run: Expand-Archive -Path 2ship-windows.zip -DestinationPath 2ship-windows + # # - name: Upload build + # # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + # # uses: actions/upload-artifact@v4 + # # with: + # # name: 2ship-windows + # # path: 2ship-windows + # - name: Upload build + # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + # uses: ryand56/r2-upload-action@latest + # with: + # r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + # r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + # r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + # r2-bucket: ${{ secrets.R2_BUCKET }} + # source-dir: _packages + # destination-dir: ./ # generate-2ship-otr: # runs-on: ubuntu-22.04 @@ -163,65 +163,80 @@ jobs: # path: 2ship.o2r # retention-days: 1 - # build-macos: - # needs: generate-2ship-otr - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # with: - # submodules: true - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2.13 - # with: - # create-symlink: true - # key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }} - # restore-keys: | - # ${{ runner.os }}-14-ccache-${{ github.ref }} - # ${{ runner.os }}-14-ccache - # - name: Cache MacPorts - # id: cache-macports - # uses: actions/cache@v4 - # with: - # path: /opt/local/ - # key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} - # restore-keys: | - # ${{ runner.os }}-macports - # - name: Install MacPorts (if necessary) - # run: | - # if [ -d /opt/local/ ]; then - # echo "MacPorts already installed" - # else - # wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg - # sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target / - # fi - # echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH - # - name: Install dependencies - # run: | - # brew uninstall --ignore-dependencies libpng - # sudo port install $(cat .github/workflows/macports-deps.txt) - # brew install ninja - # - name: Download 2ship.o2r - # uses: actions/download-artifact@v4 - # with: - # name: 2ship.o2r - # path: build-cmake/mm - # - name: Build 2Ship - # run: | - # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - # cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" - # cmake --build build-cmake --config Release --parallel 10 - # (cd build-cmake && cpack) + build-macos: + # needs: generate-2ship-otr + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.13 + with: + create-symlink: true + key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-14-ccache-${{ github.ref }} + ${{ runner.os }}-14-ccache + - name: Cache MacPorts + id: cache-macports + uses: actions/cache@v4 + with: + path: /opt/local/ + key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} + restore-keys: | + ${{ runner.os }}-macports + - name: Install MacPorts (if necessary) + run: | + if [ -d /opt/local/ ]; then + echo "MacPorts already installed" + else + wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg + sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target / + fi + echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH + - name: Install dependencies + run: | + brew uninstall --ignore-dependencies libpng + sudo port install $(cat .github/workflows/macports-deps.txt) + brew install ninja + # - name: Download 2ship.o2r + # uses: actions/download-artifact@v4 + # with: + # name: 2ship.o2r + # path: build-cmake/mm + - name: Build 2Ship + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" + cmake --build build-cmake --config Release --target Generate2ShipOtr --parallel 10 + cmake --build build-cmake --config Release --parallel 10 + (cd build-cmake && cpack) - # mv _packages/*.dmg 2Ship.dmg - # mv README.md readme.txt - # # - name: Upload build - # # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} - # # uses: actions/upload-artifact@v4 - # # with: - # # name: 2ship-mac - # # path: | - # # 2Ship.dmg - # # readme.txt + mv _packages/*.dmg 2Ship.dmg + mv README.md readme.txt + # - name: Upload build + # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + # uses: actions/upload-artifact@v4 + # with: + # name: 2ship-mac + # path: | + # 2Ship.dmg + # readme.txt + - name: Zip build + run: | + mkdir -p _release + zip -qq _release/2ship-mac.zip 2ship.dmg readme.txt + - name: Upload build + if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + uses: ryand56/r2-upload-action@latest + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ secrets.R2_BUCKET }} + source-dir: _release + destination-dir: ./ build-linux: # needs: generate-2ship-otr @@ -332,60 +347,72 @@ jobs: source-dir: _release destination-dir: ./ - # build-windows: - # needs: generate-2ship-otr - # runs-on: windows-latest - # steps: - # - name: Install dependencies - # run: | - # choco install ninja -y - # Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue - # - uses: actions/checkout@v4 - # with: - # submodules: true - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2.11 - # with: - # variant: sccache - # max-size: "1G" - # key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} - # restore-keys: | - # ${{ runner.os }}-ccache-${{ github.ref }} - # ${{ runner.os }}-ccache - # - name: Cache build folder - # uses: actions/cache@v4 - # with: - # save-always: true - # key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }} - # restore-keys: | - # ${{ runner.os }}-build-${{ github.ref }} - # ${{ runner.os }}-build - # path: | - # build-windows - # vcpkg - # - name: Configure Developer Command Prompt - # uses: ilammy/msvc-dev-cmd@v1 - # - name: Download 2ship.o2r - # uses: actions/download-artifact@v4 - # with: - # name: 2ship.o2r - # path: build-windows/mm - # - name: Build 2Ship - # env: - # VCPKG_ROOT: ${{github.workspace}}/vcpkg - # run: | - # set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" - # cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release - # cmake --build build-windows --config Release --parallel 10 + build-windows: + # needs: generate-2ship-otr + runs-on: windows-latest + steps: + - name: Install dependencies + run: | + choco install ninja -y + Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force -ErrorAction SilentlyContinue + - uses: actions/checkout@v4 + with: + submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.11 + with: + variant: sccache + max-size: "1G" + key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-ccache-${{ github.ref }} + ${{ runner.os }}-ccache + - name: Cache build folder + uses: actions/cache@v4 + with: + save-always: true + key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-build-${{ github.ref }} + ${{ runner.os }}-build + path: | + build-windows + vcpkg + - name: Configure Developer Command Prompt + uses: ilammy/msvc-dev-cmd@v1 + # - name: Download 2ship.o2r + # uses: actions/download-artifact@v4 + # with: + # name: 2ship.o2r + # path: build-windows/mm + - name: Build 2Ship + env: + VCPKG_ROOT: ${{github.workspace}}/vcpkg + run: | + set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" + cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release + cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10 + cmake --build build-windows --config Release --parallel 10 - # (cd build-windows && cpack) - # cd .. - # mv _packages/*.zip _packages/2ship-windows.zip - # - name: Unzip package - # run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows - # # - name: Upload build - # # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} - # # uses: actions/upload-artifact@v4 - # # with: - # # name: 2ship-windows - # # path: 2ship-windows + (cd build-windows && cpack) + cd .. + mv _packages/*.zip _packages/2ship-windows.zip + # Temporarily replaced with an upload to R2 until we go public + # - name: Unzip package + # run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows + # - name: Upload build + # if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + # uses: actions/upload-artifact@v4 + # with: + # name: 2ship-windows + # path: 2ship-windows + - name: Upload build + if: ${{ startsWith(github.ref, 'refs/heads/develop') }} + uses: ryand56/r2-upload-action@latest + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ secrets.R2_BUCKET }} + source-dir: _packages + destination-dir: ./ -- cgit v1.2.3