github:
  prebuilds:
    master: true
    pullRequests: true
    pullRequestsFromForks: true
    addCheck: false
    addComment: false
    addBadge: false
    addLabel: false
tasks:
  - name: setup
    init: |
      pushd /workspace
      wget -qO- https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
      popd
      # bootstrap activation commands for other tasks to reuse
      cat <<EOT > /workspace/bin/activate-env.sh
      export MAMBA_ROOT_PREFIX=/workspace/.micromamba
      export MAMBA_EXE=/workspace/bin/micromamba
      $(/workspace/bin/micromamba shell hook --shell=bash)
      export JUPYTER_PREFER_ENV_PATH=1
      export TZ=UTC
      micromamba activate
      EOT
      source /workspace/bin/activate-env.sh
      micromamba install -n base -y -c conda-forge python=3.11 nodejs=18
      source /workspace/bin/activate-env.sh
      python -m pip install -e ".[dev,test]" && jlpm run build && jlpm develop
      gp sync-done setup
    command: |
      gp sync-done setup
      source /workspace/bin/activate-env.sh
      jupyter notebook --no-browser --ServerApp.token='' --ServerApp.allow_remote_access=True

  - name: auto-activate
    command: |
      gp sync-await setup
      source /workspace/bin/activate-env.sh
      jlpm watch

  - name: shell
    command: |
      gp sync-await setup
      echo "source /workspace/bin/activate-env.sh" >> ~/.bashrc
      source /workspace/bin/activate-env.sh

  - name: docs
    command: |
      gp sync-await setup
      sudo apt-get update
      sudo apt install enchant-2 -y
      wget https://github.com/jgm/pandoc/releases/download/2.14.2/pandoc-2.14.2-1-amd64.deb -O /tmp/pandoc.deb && sudo dpkg -i /tmp/pandoc.deb
      source /workspace/bin/activate-env.sh
      hatch run docs:build
      hatch run docs:serve

ports:
  - port: 8888
