launch-templates:
  linux-medium:
    resource-class: 'docker_linux_amd64/medium+'
    image: 'ubuntu22.04-node20.11-v3'
    env:
      GIT_AUTHOR_EMAIL: test@test.com
      GIT_AUTHOR_NAME: Test
      GIT_COMMITTER_EMAIL: test@test.com
      GIT_COMMITTER_NAME: Test
      SELECTED_PM: 'pnpm'
      NPM_CONFIG_PREFIX: '/home/workflows/.npm-global'
    init-steps:
      - name: Checkout
        uses: 'nrwl/nx-cloud-workflows/v3.6/workflow-steps/checkout/main.yaml'
      - name: Cache restore
        uses: 'nrwl/nx-cloud-workflows/v3.6/workflow-steps/cache/main.yaml'
        env:
          KEY: 'pnpm-lock.yaml'
          PATHS: |
            node_modules
            ~/.cache/Cypress
            ~/.cache/ms-playwright
            ~/.pnpm-store
            ~/.sdkman
            ~/.sdkman/candidates/gradle
          BASE_BRANCH: 'master'
      - name: Install e2e deps
        script: |
          sudo apt-get update
          sudo apt-get install -y ca-certificates lsof
      - name: Install Pnpm
        script: |
          npm install -g pnpm@8.15.5

      - name: Pnpm Install
        script: |
          pnpm install --frozen-lockfile

      - name: Install Browsers
        script: |
          pnpm exec cypress install
          pnpm exec playwright install

      - name: Install Rust
        script: |
          curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y
          source "$HOME/.cargo/env"
          rustup toolchain install 1.70.0

      - name: Configure git metadata (needed for lerna smoke tests)
        script: |
          git config --global user.email test@test.com
          git config --global user.name "Test Test"

      - name: Load Cargo Env
        script: echo "PATH=$HOME/.cargo/bin:$PATH" >> $NX_CLOUD_ENV

      - name: Install zip and unzip
        script: sudo apt-get -yqq install zip unzip

      - name: Install SDKMAN and gradle
        script: |
          if [ ! -d $HOME/.sdkman ]
          then
            curl -s "https://get.sdkman.io" | bash
            source "$HOME/.sdkman/bin/sdkman-init.sh"
          fi
          sdk version
          if [ ! -d $HOME/.sdkman/candidates/gradle/8.5 ]
          then
            sdk install gradle 8.5
          fi
          gradle --version
          echo "PATH=$HOME/.sdkman/candidates/gradle/8.5/bin:$PATH" >> $NX_CLOUD_ENV
