name: Torch hub integration

on:
  push:
    branches:
      - "*"

jobs:
  torch_hub_integration:
    runs-on: ubuntu-latest
    env:
      # TODO quickfix but may need more investigation
      ACTIONS_ALLOW_UNSECURE_COMMANDS: True
    steps:
    # no checkout necessary here.
    - name: Extract branch name
      run: echo "::set-env name=BRANCH::${GITHUB_REF#refs/heads/}"
    - name: Check branch name
      run: echo $BRANCH
    - name: Set up Python
      uses: actions/setup-python@v1
      with:
        python-version: 3.7

    - name: Load cached virtual environment
      uses: actions/cache@v2
      id: cache
      with:
        path: ~/venv/
        key: v1-torch_hub-${{ hashFiles('setup.py') }}

    - name: Create virtual environment on cache miss
      if: steps.cache.outputs.cache-hit != 'true'
      run: |
        python -m venv ~/venv && . ~/venv/bin/activate
        pip install --upgrade pip

    - name: Install dependencies
      run: |
        . ~/venv/bin/activate
        # install torch-hub specific dependencies
        pip install -e git+https://github.com/huggingface/transformers.git#egg=transformers[torchhub]
        # no longer needed
        pip uninstall -y transformers

    #- name: Torch hub list
    #  run: |
    #    python -c "import torch; print(torch.hub.list('huggingface/transformers:$BRANCH'))"

    #- name: Torch hub help
    #  run: |
    #    python -c "import torch; print(torch.hub.help('huggingface/transformers:$BRANCH', 'modelForSequenceClassification'))"
