diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2c7d1708..0cc95068 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,9 @@ updates: directory: "/" schedule: interval: "daily" + + # Maintain dependencies for the report-to-backend action + - package-ecosystem: "npm" + directory: "/.github/workflows/actions/report-to-backend" + schedule: + interval: "weekly" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ca653c50..9b6a26f9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: - editor steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 # Caveat - Currently we use the ubuntu readme as we do not have a catch-all readme (yet?) - run: | echo "SHORT_DESCRIPTION=$(cat ./images/ubuntu/${{ matrix.imageType }}/100-characters-dockerhub-description.txt)" >> $GITHUB_ENV diff --git a/.github/workflows/new-ubuntu-base-image-requested.yml b/.github/workflows/new-ubuntu-base-image-requested.yml index 57e2ad1d..512f974e 100644 --- a/.github/workflows/new-ubuntu-base-image-requested.yml +++ b/.github/workflows/new-ubuntu-base-image-requested.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -50,11 +50,11 @@ jobs: # Setup # ############# - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -72,7 +72,7 @@ jobs: exit 1 fi - name: Cache Docker layers - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: /tmp/.buildx-cache key: ${{ github.event.client_payload.repoVersionFull }}-${{ runner.os }}-buildx-base-${{ github.sha }} @@ -83,7 +83,7 @@ jobs: # Base image # ################## - name: Build and publish - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build_ubuntu_base_image with: file: ./images/ubuntu/base/Dockerfile diff --git a/.github/workflows/new-ubuntu-hub-image-requested.yml b/.github/workflows/new-ubuntu-hub-image-requested.yml index 5b68e9d7..fd09d0c6 100644 --- a/.github/workflows/new-ubuntu-hub-image-requested.yml +++ b/.github/workflows/new-ubuntu-hub-image-requested.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -50,11 +50,11 @@ jobs: # Setup # ############# - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -72,7 +72,7 @@ jobs: exit 1 fi - name: Cache Docker layers - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: /tmp/.buildx-cache key: ${{ github.event.client_payload.repoVersionFull }}-${{ runner.os }}-buildx-hub-${{ github.sha }} @@ -88,7 +88,7 @@ jobs: # Hub image # ################# - name: Build and publish - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build_ubuntu_hub_image with: file: ./images/ubuntu/hub/Dockerfile diff --git a/.github/workflows/new-ubuntu-legacy-editor-image-requested.yml b/.github/workflows/new-ubuntu-legacy-editor-image-requested.yml index 222b54a7..b4538227 100644 --- a/.github/workflows/new-ubuntu-legacy-editor-image-requested.yml +++ b/.github/workflows/new-ubuntu-legacy-editor-image-requested.yml @@ -27,7 +27,7 @@ jobs: - webgl steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -64,11 +64,11 @@ jobs: # Setup # ############# - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -101,7 +101,7 @@ jobs: # Ubuntu Editor image # ########################### - name: Build and publish - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build_ubuntu_editor_image continue-on-error: true with: @@ -128,7 +128,7 @@ jobs: # Retry the above # ####################### - name: Build and publish (retry) - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 if: steps.build_ubuntu_editor_image.outcome=='failure' id: build_ubuntu_editor_image_retry with: diff --git a/.github/workflows/new-ubuntu-post-2019-2-editor-image-requested.yml b/.github/workflows/new-ubuntu-post-2019-2-editor-image-requested.yml index 13eeb658..68dc20c4 100644 --- a/.github/workflows/new-ubuntu-post-2019-2-editor-image-requested.yml +++ b/.github/workflows/new-ubuntu-post-2019-2-editor-image-requested.yml @@ -27,7 +27,7 @@ jobs: - webgl steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -64,11 +64,11 @@ jobs: # Setup # ############# - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -101,7 +101,7 @@ jobs: # Ubuntu Editor image # ########################### - name: Build and publish - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build_ubuntu_editor_image continue-on-error: true with: @@ -128,7 +128,7 @@ jobs: # Retry the above # ####################### - name: Build and publish (retry) - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 if: steps.build_ubuntu_editor_image.outcome=='failure' id: build_ubuntu_editor_image_retry with: diff --git a/.github/workflows/new-windows-base-image-requested.yml b/.github/workflows/new-windows-base-image-requested.yml index e334df4b..5da1eecc 100644 --- a/.github/workflows/new-windows-base-image-requested.yml +++ b/.github/workflows/new-windows-base-image-requested.yml @@ -32,7 +32,7 @@ jobs: runs-on: windows-2022 steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/.github/workflows/new-windows-hub-image-requested.yml b/.github/workflows/new-windows-hub-image-requested.yml index 59a4cc95..827a43da 100644 --- a/.github/workflows/new-windows-hub-image-requested.yml +++ b/.github/workflows/new-windows-hub-image-requested.yml @@ -32,7 +32,7 @@ jobs: runs-on: windows-2022 steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/.github/workflows/new-windows-legacy-editor-image-requested.yml b/.github/workflows/new-windows-legacy-editor-image-requested.yml index e998bb3d..480bd7ce 100644 --- a/.github/workflows/new-windows-legacy-editor-image-requested.yml +++ b/.github/workflows/new-windows-legacy-editor-image-requested.yml @@ -42,7 +42,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/.github/workflows/new-windows-post-2019-2-editor-image-requested.yml b/.github/workflows/new-windows-post-2019-2-editor-image-requested.yml index 5659185d..68f9f931 100644 --- a/.github/workflows/new-windows-post-2019-2-editor-image-requested.yml +++ b/.github/workflows/new-windows-post-2019-2-editor-image-requested.yml @@ -50,7 +50,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/.github/workflows/retry-ubuntu-editor-image-requested.yml b/.github/workflows/retry-ubuntu-editor-image-requested.yml index 5f18b167..98a4aa3d 100644 --- a/.github/workflows/retry-ubuntu-editor-image-requested.yml +++ b/.github/workflows/retry-ubuntu-editor-image-requested.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 ################# # Variables # ################# @@ -46,11 +46,11 @@ jobs: # Setup # ############# - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} @@ -83,7 +83,7 @@ jobs: # Editor image # #################### - name: Build and publish - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build_ubuntu_editor_image continue-on-error: true with: @@ -109,7 +109,7 @@ jobs: # Retry the above # ####################### - name: Build and publish (retry) - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 if: steps.build_ubuntu_editor_image.outcome=='failure' id: build_ubuntu_editor_image_retry with: diff --git a/.github/workflows/retry-windows-editor-image-requested.yml b/.github/workflows/retry-windows-editor-image-requested.yml index 410aa7e3..4550ef7d 100644 --- a/.github/workflows/retry-windows-editor-image-requested.yml +++ b/.github/workflows/retry-windows-editor-image-requested.yml @@ -16,7 +16,7 @@ jobs: runs-on: windows-2022 steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 ################# # Variables # ################# diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f3bd76be..2e623ac0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: targetPlatform: android steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Report new build uses: ./.github/workflows/actions/report-to-backend with: @@ -146,9 +146,9 @@ jobs: ############# # Setup # ############# - - uses: actions/checkout@v5 - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 + - uses: actions/checkout@v6 + - uses: docker/setup-qemu-action@v4 + - uses: docker/setup-buildx-action@v4 with: driver: docker @@ -156,12 +156,12 @@ jobs: # Build Ubuntu base and hub # ################################# - name: Build base - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: file: ./images/ubuntu/base/Dockerfile tags: base:ubuntu-dev - name: Build hub - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: file: ./images/ubuntu/hub/Dockerfile build-args: baseImage=base:ubuntu-dev @@ -174,7 +174,7 @@ jobs: run: | docker images docker save -o ubuntu-base-and-hub.tar base:ubuntu-dev hub:ubuntu-dev - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 with: name: ubuntu-base-and-hub path: ubuntu-base-and-hub.tar @@ -190,7 +190,26 @@ jobs: ############# # Setup # ############# - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 + - name: Start Docker + shell: pwsh + run: | + $service = Get-Service -Name docker -ErrorAction Stop + if ($service.Status -ne 'Running') { + Start-Service -Name docker + } + + $deadline = (Get-Date).AddMinutes(2) + while ((Get-Date) -lt $deadline) { + try { + docker version + exit 0 + } catch { + Start-Sleep -Seconds 5 + } + } + + throw 'Docker daemon did not become ready in time.' ################################## # Build Windows base and hub # @@ -218,7 +237,7 @@ jobs: docker save -o windows-base-and-hub.tar base:windows-dev hub:windows-dev zstd -z -12 --format=zstd windows-base-and-hub.tar - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 with: name: windows-base-and-hub path: C:/artifact/windows-base-and-hub.tar.zst @@ -269,9 +288,9 @@ jobs: ############# # Setup # ############# - - uses: actions/checkout@v5 - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 + - uses: actions/checkout@v6 + - uses: docker/setup-qemu-action@v4 + - uses: docker/setup-buildx-action@v4 with: driver: docker - name: Free disk space @@ -280,7 +299,7 @@ jobs: ############################ # Restore base and hub # ############################ - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v6 with: name: ubuntu-base-and-hub @@ -310,7 +329,7 @@ jobs: ########################### - name: Build # if: steps.build-1.outcome == 'failure' - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build-1 continue-on-error: true timeout-minutes: 40 @@ -333,7 +352,7 @@ jobs: - name: Build (Retry) if: steps.build-1.outcome == 'failure' - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 id: build-2 # continue-on-error: true timeout-minutes: 40 @@ -492,12 +511,12 @@ jobs: ############# # Setup # ############# - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 ############################ # Restore base and hub # ############################ - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v6 with: name: windows-base-and-hub - name: Restore base and hub diff --git a/images/windows/hub/Dockerfile b/images/windows/hub/Dockerfile index e6bcb5d5..58d7d9c8 100644 --- a/images/windows/hub/Dockerfile +++ b/images/windows/hub/Dockerfile @@ -1,6 +1,12 @@ +# escape=` ARG baseImage="unityci/base:windows-latest" FROM $baseImage # Install unity hub -RUN choco install unity-hub --no-progress -y +RUN powershell -Command ` + $ErrorActionPreference = 'Stop'; ` + $installer = 'C:\UnityHubSetup-x64.exe'; ` + Invoke-WebRequest -Uri 'https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup-x64.exe' -OutFile $installer; ` + Start-Process -FilePath $installer -ArgumentList '/S' -Wait; ` + Remove-Item $installer -Force