From 001c1de463fdd2103f93309e60d28db72c4a55c0 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 28 Jun 2025 21:42:03 +0200 Subject: [PATCH 1/6] [Github] Install `make` on Windows container --- .../workflows/containers/github-action-ci-windows/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/containers/github-action-ci-windows/Dockerfile b/.github/workflows/containers/github-action-ci-windows/Dockerfile index eafe45fac8ea4..8f65c42242d12 100644 --- a/.github/workflows/containers/github-action-ci-windows/Dockerfile +++ b/.github/workflows/containers/github-action-ci-windows/Dockerfile @@ -39,7 +39,8 @@ RUN regsvr32 /S "C:\BuildTools\DIA SDK\bin\amd64\msdia140.dll" & \ # install tools as described in https://llvm.org/docs/GettingStartedVS.html # and a few more that were not documented... -RUN choco install -y ninja git sccache +# make is needed by LLDB tests +RUN choco install -y ninja git sccache make # Pin an older version of Python; the current Python 3.10 fails when # doing "pip install" for the other dependencies, as it fails to find libxml # while compiling some package. From 31f6bce61997e678a3d46ebfb2c65608f8a01cf5 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Mon, 30 Jun 2025 16:15:12 +0200 Subject: [PATCH 2/6] Build and push to my ghcr --- .../workflows/build-ci-container-windows.yml | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-ci-container-windows.yml b/.github/workflows/build-ci-container-windows.yml index 068cb58301080..8f5d40321f96f 100644 --- a/.github/workflows/build-ci-container-windows.yml +++ b/.github/workflows/build-ci-container-windows.yml @@ -19,8 +19,10 @@ on: jobs: build-ci-container-windows: - if: github.repository_owner == 'llvm' + # if: github.repository_owner == 'llvm' runs-on: windows-2019 + permissions: + packages: write outputs: container-name: ${{ steps.vars.outputs.container-name }} container-name-tag: ${{ steps.vars.outputs.container-name-tag }} @@ -34,7 +36,7 @@ jobs: id: vars run: | $tag = [int64](Get-Date -UFormat %s) - $container_name="ghcr.io/$env:GITHUB_REPOSITORY_OWNER/ci-windows-2019" + $container_name="ghcr.io/$($env:GITHUB_REPOSITORY_OWNER.ToLower())/ci-windows-2019" echo "container-name=${container_name}" >> $env:GITHUB_OUTPUT echo "container-name-tag=${container_name}:${tag}" >> $env:GITHUB_OUTPUT echo "container-filename=ci-windows-${tag}.tar" >> $env:GITHUB_OUTPUT @@ -42,15 +44,19 @@ jobs: working-directory: .github/workflows/containers/github-action-ci-windows run: | docker build -t ${{ steps.vars.outputs.container-name-tag }} . - - name: Save container image - run: | - docker save ${{ steps.vars.outputs.container-name-tag }} > ${{ steps.vars.outputs.container-filename }} - - name: Upload container image - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: container - path: ${{ steps.vars.outputs.container-filename }} - retention-days: 14 + docker tag ${{ steps.vars.outputs.container-name-tag }} ${{ steps.vars.outputs.container-name }}:latest + docker login -u ${{ github.actor }} -p $env:GITHUB_TOKEN ghcr.io + docker push ${{ steps.vars.outputs.container-name-tag }} + docker push ${{ steps.vars.outputs.container-name }}:latest + # - name: Save container image + # run: | + # docker save ${{ steps.vars.outputs.container-name-tag }} > ${{ steps.vars.outputs.container-filename }} + # - name: Upload container image + # uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + # with: + # name: container + # path: ${{ steps.vars.outputs.container-filename }} + # retention-days: 14 push-ci-container: if: github.event_name == 'push' From 3f09d966b6f042c7f7c9521384e0956ca11bf740 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Mon, 30 Jun 2025 16:31:22 +0200 Subject: [PATCH 3/6] fix: add GH token --- .github/workflows/build-ci-container-windows.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-ci-container-windows.yml b/.github/workflows/build-ci-container-windows.yml index 8f5d40321f96f..b9769019aaafd 100644 --- a/.github/workflows/build-ci-container-windows.yml +++ b/.github/workflows/build-ci-container-windows.yml @@ -42,6 +42,8 @@ jobs: echo "container-filename=ci-windows-${tag}.tar" >> $env:GITHUB_OUTPUT - name: Build Container working-directory: .github/workflows/containers/github-action-ci-windows + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | docker build -t ${{ steps.vars.outputs.container-name-tag }} . docker tag ${{ steps.vars.outputs.container-name-tag }} ${{ steps.vars.outputs.container-name }}:latest From 2493262932a45389ea01300f2d13e289a5f43166 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 5 Jul 2025 09:58:08 +0200 Subject: [PATCH 4/6] test: try server 2022 --- .../containers/github-action-ci-windows/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/containers/github-action-ci-windows/Dockerfile b/.github/workflows/containers/github-action-ci-windows/Dockerfile index 8f65c42242d12..9a89909855218 100644 --- a/.github/workflows/containers/github-action-ci-windows/Dockerfile +++ b/.github/workflows/containers/github-action-ci-windows/Dockerfile @@ -1,17 +1,17 @@ # Agent image for LLVM org cluster. # .net 4.8 is required by chocolately package manager. -FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 +FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 # Restore the default Windows shell for correct batch processing. SHELL ["cmd", "/S", "/C"] # Download the Build Tools bootstrapper. -ADD https://aka.ms/vs/16/release/vs_buildtools.exe /TEMP/vs_buildtools.exe +ADD https://aka.ms/vs/17/release/vs_buildtools.exe /TEMP/vs_buildtools.exe RUN powershell -Command Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) # Download channel for fixed install. -ARG CHANNEL_URL=https://aka.ms/vs/16/release/channel +ARG CHANNEL_URL=https://aka.ms/vs/17/release/channel ADD ${CHANNEL_URL} /TEMP/VisualStudio.chman # Install Build Tools with C++ workload. From 14855394625cce3a6a4038b1a8a74c0351b6ac69 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 5 Jul 2025 10:00:03 +0200 Subject: [PATCH 5/6] it's 2022 --- .github/workflows/build-ci-container-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-ci-container-windows.yml b/.github/workflows/build-ci-container-windows.yml index b9769019aaafd..a9ba1edd71a9c 100644 --- a/.github/workflows/build-ci-container-windows.yml +++ b/.github/workflows/build-ci-container-windows.yml @@ -66,7 +66,7 @@ jobs: - build-ci-container-windows permissions: packages: write - runs-on: windows-2019 + runs-on: windows-2022 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: From 7bda0d49f3087c73738603025685527df63e0eb0 Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 5 Jul 2025 10:02:44 +0200 Subject: [PATCH 6/6] use the right job --- .github/workflows/build-ci-container-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-ci-container-windows.yml b/.github/workflows/build-ci-container-windows.yml index a9ba1edd71a9c..0d5a37814c8fc 100644 --- a/.github/workflows/build-ci-container-windows.yml +++ b/.github/workflows/build-ci-container-windows.yml @@ -20,7 +20,7 @@ on: jobs: build-ci-container-windows: # if: github.repository_owner == 'llvm' - runs-on: windows-2019 + runs-on: windows-2022 permissions: packages: write outputs: