---
steps:
  - label: "Set up"
    agents:
      - "queue=default"
    plugins:
      docker#v3.8.0:
        always-pull: true
        environment:
          - ANDROID_HOME
          - ANDROID_NDK_HOME
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
        image: gcr.io/bazel-public/ubuntu2004-java11
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=\$(source scripts/release/common.sh; get_full_release_name)
      echo "release_name = \"\$release_name\""
      buildkite-agent meta-data set "release_name" "\$release_name"
      
      mode="release"
      if [[ \"\$release_name\" =~ .*rc.* ]]; then
        mode="rc"
      fi
      echo "mode = \"\$mode\""
      buildkite-agent meta-data set "mode" "\$mode"
      
      choco_key=$(gsutil cat gs://bazel-trusted-encrypted-secrets/choco-trusted-token.enc | gcloud kms decrypt --project bazel-public --location global --keyring buildkite --key choco-trusted-token --ciphertext-file - --plaintext-file -)
      buildkite-agent meta-data set "choco_key" "\$choco_key"

  - wait

  - label: "CentOS 7"
    agents:
      - "queue=default"
    plugins:
      docker#v3.8.0:
        always-pull: true
        environment:
          - ANDROID_HOME
          - ANDROID_NDK_HOME
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
        image: gcr.io/bazel-public/centos7-releaser
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      bazel build --sandbox_tmpfs_path=/tmp //src:bazel
      mkdir output
      cp bazel-bin/src/bazel output/bazel

      output/bazel build \
          -c opt \
          --stamp \
          --sandbox_tmpfs_path=/tmp \
          --embed_label "\${release_name}" \
          --workspace_status_command=scripts/ci/build_status_command.sh \
          src/bazel \
          src/bazel_nojdk \
          scripts/packages/with-jdk/install.sh \
          scripts/packages/debian/bazel-debian.deb \
          scripts/packages/debian/bazel.dsc \
          scripts/packages/debian/bazel.tar.gz \
          bazel-distfile.zip

      mkdir artifacts
      cp "bazel-bin/src/bazel" "artifacts/bazel-\${release_name}-linux-x86_64"
      cp "bazel-bin/src/bazel_nojdk" "artifacts/bazel_nojdk-\${release_name}-linux-x86_64"
      cp "bazel-bin/scripts/packages/with-jdk/install.sh" "artifacts/bazel-\${release_name}-installer-linux-x86_64.sh"
      cp "bazel-bin/scripts/packages/debian/bazel-debian.deb" "artifacts/bazel_\${release_name}-linux-x86_64.deb"
      cp "bazel-bin/scripts/packages/debian/bazel.dsc" "artifacts/bazel_\${release_name}.dsc"
      cp "bazel-bin/scripts/packages/debian/bazel.tar.gz" "artifacts/bazel_\${release_name}.tar.gz"
      cp "bazel-bin/bazel-distfile.zip" "artifacts/bazel-\${release_name}-dist.zip"

      cd artifacts
      buildkite-agent artifact upload "*"

  - label: "CentOS 7 (arm64)"
    agents:
      - "queue=arm64"
    plugins:
      docker#v3.8.0:
        environment:
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
          - GOOGLE_APPLICATION_CREDENTIALS
        image: gcr.io/bazel-public/centos7-releaser
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout FETCH_HEAD

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      # Our arm64 machine keeps state between runs, but we want to also do a clean build.
      bazel clean --expunge

      bazel build --sandbox_tmpfs_path=/tmp //src:bazel
      mkdir output
      cp bazel-bin/src/bazel output/bazel

      output/bazel build \
          -c opt \
          --stamp \
          --sandbox_tmpfs_path=/tmp \
          --embed_label "\${release_name}" \
          --workspace_status_command=scripts/ci/build_status_command.sh \
          src/bazel \
          src/bazel_nojdk

      mkdir artifacts
      cp "bazel-bin/src/bazel" "artifacts/bazel-\${release_name}-linux-arm64"
      cp "bazel-bin/src/bazel_nojdk" "artifacts/bazel_nojdk-\${release_name}-linux-arm64"

      cd artifacts
      buildkite-agent artifact upload "*"

  - label: macOS
    agents:
      - queue=macos
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      bazel build //src:bazel
      mkdir output
      cp bazel-bin/src/bazel output/bazel

      output/bazel build \
          --define IPHONE_SDK=1 \
          -c opt \
          --stamp \
          --embed_label "\${release_name}" \
          --workspace_status_command=scripts/ci/build_status_command.sh \
          src/bazel \
          src/bazel_nojdk \
          scripts/packages/with-jdk/install.sh

      mkdir artifacts
      cp "bazel-bin/src/bazel" "artifacts/bazel-\${release_name}-darwin-x86_64"
      cp "bazel-bin/src/bazel_nojdk" "artifacts/bazel_nojdk-\${release_name}-darwin-x86_64"
      cp "bazel-bin/scripts/packages/with-jdk/install.sh" "artifacts/bazel-\${release_name}-installer-darwin-x86_64.sh"

      cd artifacts
      buildkite-agent artifact upload "*"

  - label: macOS (arm64)
    agents:
      - queue=macos_arm64
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      bazel build //src:bazel
      mkdir output
      cp bazel-bin/src/bazel output/bazel

      output/bazel build \
          --define IPHONE_SDK=1 \
          -c opt \
          --stamp \
          --embed_label "\${release_name}" \
          --workspace_status_command=scripts/ci/build_status_command.sh \
          --cpu=darwin_arm64 \
          src/bazel \
          src/bazel_nojdk \
          scripts/packages/with-jdk/install.sh

      mkdir artifacts
      cp "bazel-bin/src/bazel" "artifacts/bazel-\${release_name}-darwin-arm64"
      cp "bazel-bin/src/bazel_nojdk" "artifacts/bazel_nojdk-\${release_name}-darwin-arm64"
      cp "bazel-bin/scripts/packages/with-jdk/install.sh" "artifacts/bazel-\${release_name}-installer-darwin-arm64.sh"

      cd artifacts
      buildkite-agent artifact upload "*"

  - label: Windows
    agents:
      - queue=windows
    command: |
      set "BUILDKITE_MESSAGE=%BUILDKITE_MESSAGE:~0,1000%"

      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      buildkite-agent meta-data get "release_name" > release_name.txt
      SET /p RELEASE_NAME=<release_name.txt
      DEL /q release_name.txt

      echo Release: %RELEASE_NAME%

      bazel build //src:bazel.exe
      mkdir output
      copy bazel-bin\src\bazel.exe output\bazel.exe

      output\bazel build -c opt --copt=-w --host_copt=-w --stamp --embed_label %RELEASE_NAME% src/bazel src/bazel_nojdk scripts/packages/bazel.zip

      mkdir artifacts
      move bazel-bin\src\bazel artifacts\bazel-%RELEASE_NAME%-windows-x86_64.exe
      move bazel-bin\src\bazel_nojdk artifacts\bazel_nojdk-%RELEASE_NAME%-windows-x86_64.exe
      move bazel-bin\scripts\packages\bazel.zip artifacts\bazel-%RELEASE_NAME%-windows-x86_64.zip

      cd artifacts
      buildkite-agent artifact upload "*"

  - label: Windows (arm64)
    agents:
      # TODO(pcloudy): Switch to windows_arm64 queue if Windows ARM64 machines are available,
      # current we just use x86_64 machines to do cross compile.
      - queue=windows
    command: |
      set "BUILDKITE_MESSAGE=%BUILDKITE_MESSAGE:~0,1000%"

      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      buildkite-agent meta-data get "release_name" > release_name.txt
      SET /p RELEASE_NAME=<release_name.txt
      DEL /q release_name.txt

      echo Release: %RELEASE_NAME%

      bazel build //src:bazel.exe
      mkdir output
      copy bazel-bin\src\bazel.exe output\bazel.exe

      output\bazel build -c opt --config=windows_arm64 --copt=-w --host_copt=-w --stamp --embed_label %RELEASE_NAME% src/bazel src/bazel_nojdk scripts/packages/bazel.zip

      mkdir artifacts
      move bazel-bin\src\bazel artifacts\bazel-%RELEASE_NAME%-windows-arm64.exe
      move bazel-bin\src\bazel_nojdk artifacts\bazel_nojdk-%RELEASE_NAME%-windows-arm64.exe
      move bazel-bin\scripts\packages\bazel.zip artifacts\bazel-%RELEASE_NAME%-windows-arm64.zip

      cd artifacts
      buildkite-agent artifact upload "*"

  - wait

  - label: "Test on CentOS 7"
    agents:
      - "queue=default"
    plugins:
      docker#v3.8.0:
        always-pull: true
        environment:
          - ANDROID_HOME
          - ANDROID_NDK_HOME
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
        image: gcr.io/bazel-public/centos7-java8
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      buildkite-agent artifact download "bazel-\${release_name}-linux-x86_64" .

      chmod +x "bazel-\${release_name}-linux-x86_64"

      "./bazel-\${release_name}-linux-x86_64" info

  - label: "Test on CentOS 7 (arm64)"
    agents:
      - "queue=arm64"
    plugins:
      docker#v3.8.0:
        environment:
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
          - GOOGLE_APPLICATION_CREDENTIALS
        image: gcr.io/bazel-public/centos7-java8
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout FETCH_HEAD

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      buildkite-agent artifact download "bazel-\${release_name}-linux-arm64" .

      chmod +x "bazel-\${release_name}-linux-arm64"

      "./bazel-\${release_name}-linux-arm64" info

  - label: "Test on macOS"
    agents:
      - queue=macos
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      buildkite-agent artifact download "bazel-\${release_name}-darwin-x86_64" .

      chmod +x "bazel-\${release_name}-darwin-x86_64"

      "./bazel-\${release_name}-darwin-x86_64" info

  - label: "Test on macOS (arm64)"
    agents:
      # TODO(pcloudy): Write a proper test step
      - queue=macos_arm64
    command: |
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      release_name=$(buildkite-agent meta-data get "release_name")
      echo "release_name = \"\$release_name\""

      buildkite-agent artifact download "bazel-\${release_name}-darwin-arm64" .

      chmod +x "bazel-\${release_name}-darwin-arm64"
      "./bazel-\${release_name}-darwin-arm64" info

  - label: "Test on Windows"
    agents:
      - queue=windows
    command: |
      set "BUILDKITE_MESSAGE=%BUILDKITE_MESSAGE:~0,1000%"

      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      buildkite-agent meta-data get "release_name" > release_name.txt
      SET /p RELEASE_NAME=<release_name.txt
      DEL /q release_name.txt

      echo Release: %RELEASE_NAME%

      buildkite-agent artifact download bazel-%RELEASE_NAME%-windows-x86_64.exe .

      bazel-%RELEASE_NAME%-windows-x86_64.exe info

  - label: "Test on Windows (arm64)"
    agents:
      # TODO(pcloudy): Switch to windows_arm64 queue if Windows ARM64 machines are available,
      # current we just use x86_64 machines to do cross compile.
      - queue=windows
    command: |
      set "BUILDKITE_MESSAGE=%BUILDKITE_MESSAGE:~0,1000%"

      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      buildkite-agent meta-data get "release_name" > release_name.txt
      SET /p RELEASE_NAME=<release_name.txt
      DEL /q release_name.txt

      echo Release: %RELEASE_NAME%

      buildkite-agent artifact download bazel-%RELEASE_NAME%-windows-arm64.exe .

      file bazel-%RELEASE_NAME%-windows-arm64.exe | grep "Aarch64"

  - wait

  - block: ":rocket: Deploy release artifacts"

  - label: "Deploy release artifacts"
    agents:
      - "queue=default"
    plugins:
      docker#v3.8.0:
        always-pull: true
        environment:
          - ANDROID_HOME
          - ANDROID_NDK_HOME
          - BUILDKITE_ARTIFACT_UPLOAD_DESTINATION
        image: gcr.io/bazel-public/ubuntu2004-java11
        network: host
        privileged: true
        propagate-environment: true
        propagate-uid-gid: true
        shell: ["/bin/bash", "-e", "-c"]
        volumes:
          - "/etc/group:/etc/group:ro"
          - "/etc/passwd:/etc/passwd:ro"
          - "/etc/shadow:/etc/shadow:ro"
          - "/opt/android-ndk-r15c:/opt/android-ndk-r15c:ro"
          - "/opt/android-sdk-linux:/opt/android-sdk-linux:ro"
          - "/var/lib/buildkite-agent:/var/lib/buildkite-agent"
          - "/var/lib/gitmirrors:/var/lib/gitmirrors:ro"
          - "/var/run/docker.sock:/var/run/docker.sock"
    command: |
      echo "+++ Installing required packages"
      sudo apt -y update && sudo apt -y install devscripts pandoc reprepro

      echo "+++ Downloading github-release"
      curl -L https://mirror.bazel.build/github.com/c4milo/github-release/releases/download/v1.1.0/github-release_v1.1.0_linux_amd64.tar.gz | sudo tar xz -C /usr/local/bin
      sudo chown root:root /usr/local/bin/github-release
      sudo chmod 0755 /usr/local/bin/github-release

      echo "+++ Checking out Git branch"
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      echo "+++ Downloading release artifacts"
      ARTIFACTS="$(mktemp -d)"
      buildkite-agent artifact download "*" "\${ARTIFACTS}/"

      echo "+++ Importing GPG release key"
      keyfile="$(mktemp --tmpdir)"
      chmod 0600 "\${keyfile}"
      gsutil cat "gs://bazel-trusted-encrypted-secrets/release-key.gpg.enc" | gcloud kms decrypt --project "bazel-public" --location "global" --keyring "buildkite" --key "bazel-release-key" --ciphertext-file "-" --plaintext-file "\${keyfile}"
      gpg --allow-secret-key-import --import "\${keyfile}"
      rm -f "\${keyfile}"

      echo "+++ Deploying release"
      source scripts/ci/build.sh
      deploy_release "\${ARTIFACTS}"

  - block: ":e-mail: Generate release notes"
    if: build.branch =~ /rc/i
    
  - label: "Generate release notes"
    if: build.branch =~ /rc/i
    agents:
      - "queue=default"
    command: |     
      echo "+++ Checking out Git branch"
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}
      
      echo "+++ Generating release notes"
      cd scripts/release
      python3 relnotes.py sort

  - wait

  - block: "Build and publish"
    if: build.branch !~ /pre/i  

  - label: "Update Chocolatey"
    if: build.branch !~ /pre/i  
    agents:
      - queue=windows
    command: |
      echo "+++ Checking out Git branch"
      git fetch origin ${BUILDKITE_BRANCH}
      git checkout ${BUILDKITE_BRANCH}

      echo "+++ Getting release info"
      buildkite-agent meta-data get "release_name" > release_name.txt
      SET /p RELEASE_NAME=<release_name.txt
      DEL /q release_name.txt
      echo Release: %RELEASE_NAME%
      
      buildkite-agent meta-data get "mode" > mode.txt
      SET /p MODE=<mode.txt
      DEL /q mode.txt
      echo Mode: %MODE%
      
      buildkite-agent meta-data get "choco_key" > choco_key.txt
      SET /p KEY=<choco_key.txt
      DEL /q choco_key.txt

      echo "+++ Authenticating"
      cd "scripts/packages/chocolatey"    
      choco apikey -k %KEY% -s https://push.chocolatey.org/
      
      SET RC=0
      SET VERSION=%RELEASE_NAME%
      if "%MODE%"=="rc" (
        SET RC=%RELEASE_NAME:~-1%
        SET VERSION=%RELEASE_NAME:~0,-3%
      )
      echo RC: %RC%
      echo VERSION: %VERSION%

      echo "+++ Building package"
      powershell -Command "./build.ps1 -version %VERSION% -mode %MODE% -rc %RC%"

      echo "+++ Pushing package"
      choco push --source https://push.chocolatey.org/

  - label: "Update Docker"
    if: |
      build.branch !~ /pre/i && build.branch !~ /rc/i
    trigger: "docker-update"
    build:
      message: "${BUILDKITE_MESSAGE}"
      env:
        release_name: "${BUILDKITE_BRANCH}"
