mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
ci: bump Windows vmImage to 2022 (#12557)
Azure is telling us to stop using 2019, so I've updated the job to be compatible with 2022. (And future Windows images, too.) CHANGELOG_BEGIN CHANGELOG_END
This commit is contained in:
parent
30e9b87279
commit
e9dc1efe2b
@ -150,15 +150,10 @@ jobs:
|
|||||||
trigger_sha: '$(trigger_sha)'
|
trigger_sha: '$(trigger_sha)'
|
||||||
- template: report-end.yml
|
- template: report-end.yml
|
||||||
|
|
||||||
- template: patch_bazel_windows/compile.yml
|
|
||||||
parameters:
|
|
||||||
final_job_name: patch_bazel_windows
|
|
||||||
|
|
||||||
- job: Windows
|
- job: Windows
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- da_ghc_lib
|
- da_ghc_lib
|
||||||
- check_for_release
|
- check_for_release
|
||||||
- patch_bazel_windows
|
|
||||||
- git_sha
|
- git_sha
|
||||||
variables:
|
variables:
|
||||||
- name: release_sha
|
- name: release_sha
|
||||||
|
@ -1,121 +0,0 @@
|
|||||||
# Copyright (c) 2022 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: final_job_name
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
- job: patch_bazel_pre_check
|
|
||||||
pool:
|
|
||||||
name: ubuntu_20_04
|
|
||||||
steps:
|
|
||||||
- checkout: self
|
|
||||||
- template: ../bash-lib.yml
|
|
||||||
parameters:
|
|
||||||
var_name: bash-lib
|
|
||||||
- bash: |
|
|
||||||
set -euo pipefail
|
|
||||||
source $(bash-lib)
|
|
||||||
|
|
||||||
CACHE_KEY="$(find ci/patch_bazel_windows -type f -print0 | sort -z | xargs -r0 md5sum | md5sum | awk '{print $1}')"
|
|
||||||
TARGET="patch_bazel_windows/bazel-$CACHE_KEY.zip"
|
|
||||||
TARGET_URL="https://daml-binaries.da-ext.net/$TARGET"
|
|
||||||
STATUS="$(curl -Is "$TARGET_URL" | head -1 | awk '{print $2}')"
|
|
||||||
|
|
||||||
if [ "200" = "$STATUS" ]; then
|
|
||||||
SHOULD_RUN=false
|
|
||||||
else
|
|
||||||
SHOULD_RUN=true
|
|
||||||
fi
|
|
||||||
setvar cache_key $CACHE_KEY
|
|
||||||
setvar should_run $SHOULD_RUN
|
|
||||||
setvar target $TARGET
|
|
||||||
setvar target_url $TARGET_URL
|
|
||||||
|
|
||||||
echo "Final hash and URL will be printed by the ${{parameters.final_job_name}} job."
|
|
||||||
name: out
|
|
||||||
|
|
||||||
- job: patch_bazel_compile
|
|
||||||
dependsOn:
|
|
||||||
- patch_bazel_pre_check
|
|
||||||
variables:
|
|
||||||
cache_key: $[ dependencies.patch_bazel_pre_check.outputs['out.cache_key'] ]
|
|
||||||
should_run: $[ dependencies.patch_bazel_pre_check.outputs['out.should_run'] ]
|
|
||||||
bazel_base_version: 4.2.1
|
|
||||||
pool:
|
|
||||||
vmImage: windows-2019
|
|
||||||
steps:
|
|
||||||
- checkout: self
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- bash: |
|
|
||||||
git clone https://github.com/bazelbuild/bazel.git
|
|
||||||
cd bazel
|
|
||||||
git checkout $(bazel_base_version)
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- powershell: |
|
|
||||||
choco install msys2 --noprogress --yes
|
|
||||||
choco install zip --noprogress --yes
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- powershell: |
|
|
||||||
C:\tools\msys64\usr\bin\pacman -S zip --noconfirm
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- bash: |
|
|
||||||
set -euo pipefail
|
|
||||||
BAZEL=$(mktemp)
|
|
||||||
curl -sL https://github.com/bazelbuild/bazel/releases/download/$(bazel_base_version)/bazel-$(bazel_base_version)-windows-x86_64.exe > $BAZEL
|
|
||||||
cd bazel
|
|
||||||
$BAZEL build src/main/cpp:client src:package-zip_jdk_minimal -c opt --stamp --embed_label $(bazel_base_version)-patched-$(cache_key)
|
|
||||||
# Note (MK) For some reason, the `zip` from chocolatey seems to result in
|
|
||||||
# a “zip file structure invalid” error. I’ve tried adding msys to PATH so the Bazel
|
|
||||||
# rules pick up `zip` from msys but that broke other things. So for now
|
|
||||||
# we skip the final Bazel rule to build the self-extracting exe and instead
|
|
||||||
# call `zip` from msys separately.
|
|
||||||
/c/tools/msys64/msys2_shell.cmd -defterm -no-start -here -c "cat bazel-bin/src/main/cpp/client.exe bazel-bin/src/package_jdk_minimal.zip > bazel.exe && zip -A bazel.exe"
|
|
||||||
mkdir '$(Build.StagingDirectory)\patched-bazel'
|
|
||||||
zip bazel.zip bazel.exe
|
|
||||||
cp bazel.zip '$(Build.StagingDirectory)\patched-bazel'
|
|
||||||
echo "Final hash and URL will be printed by the ${{parameters.final_job_name}} job."
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.StagingDirectory)/patched-bazel
|
|
||||||
artifactName: patched-bazel
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
|
|
||||||
- job: ${{ parameters.final_job_name }}
|
|
||||||
dependsOn:
|
|
||||||
- patch_bazel_compile
|
|
||||||
- patch_bazel_pre_check
|
|
||||||
variables:
|
|
||||||
cache_key: $[ dependencies.patch_bazel_pre_check.outputs['out.cache_key'] ]
|
|
||||||
target: $[ dependencies.patch_bazel_pre_check.outputs['out.target'] ]
|
|
||||||
target_url: $[ dependencies.patch_bazel_pre_check.outputs['out.target_url'] ]
|
|
||||||
should_run: $[ dependencies.patch_bazel_pre_check.outputs['out.should_run'] ]
|
|
||||||
pool:
|
|
||||||
name: ubuntu_20_04
|
|
||||||
steps:
|
|
||||||
- task: DownloadPipelineArtifact@2
|
|
||||||
inputs:
|
|
||||||
artifact: patched-bazel
|
|
||||||
path: $(Build.StagingDirectory)/patched-bazel
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
||||||
- bash: |
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
SOURCE='$(Build.StagingDirectory)/patched-bazel/bazel.zip'
|
|
||||||
|
|
||||||
GCS_KEY=$(mktemp)
|
|
||||||
cleanup() {
|
|
||||||
rm -rf $GCS_KEY
|
|
||||||
}
|
|
||||||
trap cleanup EXIT
|
|
||||||
# This will break on external PRs.
|
|
||||||
echo "$GOOGLE_APPLICATION_CREDENTIALS_CONTENT" > $GCS_KEY
|
|
||||||
gcloud auth activate-service-account --key-file=$GCS_KEY
|
|
||||||
BOTO_CONFIG=/dev/null gsutil cp "$SOURCE" "gs://daml-binaries/$(target)"
|
|
||||||
echo "url: $(target_url)"
|
|
||||||
echo "hash: $(sha256sum "$(Build.StagingDirectory)/patched-bazel/bazel.zip" | awk '{print $1}')"
|
|
||||||
env:
|
|
||||||
GOOGLE_APPLICATION_CREDENTIALS_CONTENT: $(GOOGLE_APPLICATION_CREDENTIALS_CONTENT)
|
|
||||||
condition: eq(variables.should_run, 'true')
|
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"homepage": "https://bazel.build",
|
"homepage": "https://bazel.build",
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"bin": "bazel.exe",
|
"bin": "bazel.exe",
|
||||||
"architecture": {
|
"architecture": {
|
||||||
"64bit": {
|
"64bit": {
|
||||||
"url": "https://daml-binaries.da-ext.net/patch_bazel_windows/bazel-be46798f67a4437875bfe23efb51935a.zip",
|
"url": "https://github.com/bazelbuild/bazel/releases/download/4.2.0/bazel-4.2.0-windows-x86_64.zip",
|
||||||
"hash": "670afb47f1b1a50747e90b570780ca54cfd29d9e5bf338a711c7f7d4758c9029"
|
"hash": "56c29f850677a7aaf9b59cbd762d0d41d9f9e158bf96c5b6022af123fd52db7f"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"depends": [
|
"depends": [
|
||||||
|
Loading…
Reference in New Issue
Block a user