github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/docs/content/developers/scripts/windows_buildkite_setup.sh (about) 1 #!/bin/bash 2 3 set -eu -o pipefail 4 set -x 5 6 if [ -z ${BUILDKITE_AGENT_TOKEN:-""} ]; then 7 echo "Please set environment variable BUILDKITE_AGENT_TOKEN" 8 exit 101 9 fi 10 11 mkcert -install 12 13 # Set *global* line endings (not user) because the buildkite-agent may not be running as testbot user 14 perl -pi -e 's/autocrlf = true/autocrlf = false\n\teol = lf/' "/c/Program Files/Git/etc/gitconfig" 15 16 # Install Ubuntu from Microsoft store 17 # Then wsl --set-default Ubuntu 18 19 # Install buildkite-agent 20 LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/buildkite/agent/releases/latest) 21 LATEST_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') 22 NO_V_VERSION=${LATEST_VERSION#v} 23 URL="https://github.com/buildkite/agent/releases/download/$LATEST_VERSION/buildkite-agent-windows-amd64-${NO_V_VERSION}.zip" 24 mkdir -p /c/buildkite-agent/bin && cd /tmp && curl -L -O $URL 25 cd /c/buildkite-agent && unzip /tmp/buildkite-agent-windows-amd64-${NO_V_VERSION}.zip 26 perl -pi.bak -e 's/# tags="key1=val2,key2=val2"/tags="os=windows,architecture=amd64,osvariant=windows10pro,dockertype=dockerforwindows"/' /c/buildkite-agent/buildkite-agent.cfg 27 perl -pi.bak -e 's/^build-path=.*$/build-path=C:\\Users\\testbot\\tmp\\buildkite/' /c/buildkite-agent/buildkite-agent.cfg 28 perl -pi.bak -e 's/^build-path=.*$/build-path=C:\\Users\\testbot\\tmp\\buildkite/' /c/buildkite-agent/buildkite-agent.cfg 29 perl -pi.bak -e "s/^token=.*\$/token=${BUILDKITE_AGENT_TOKEN}/" /c/buildkite-agent/buildkite-agent.cfg 30 31 mv /c/buildkite-agent/buildkite-agent /c/buildkite-agent/bin 32 33 nssm.exe stop buildkite-agent || true 34 nssm.exe remove buildkite-agent confirm || true 35 nssm.exe install buildkite-agent "C:\buildkite-agent\bin\buildkite-agent.exe" "start" || true 36 nssm.exe set buildkite-agent AppStdout "C:\buildkite-agent\buildkite-agent.log" 37 nssm.exe set buildkite-agent AppStderr "C:\buildkite-agent\buildkite-agent.lwinpty docker run -it -p 80 busybox:stable log" 38 nssm.exe start buildkite-agent || true 39 nssm.exe status buildkite-agent || true 40 41 # Get firewall set up with a single run 42 winpty docker run -it --rm -p 80 busybox:stable ls 43 44 bash "/c/Program Files/ddev/windows_ddev_nfs_setup.sh"