name: Deploy to Production

on:
  push:
    branches:
      - master

jobs:
  build:
    name: "Deploy to Production"
    runs-on: ubuntu-latest
    environment: prod

    steps:
    - uses: actions/checkout@v2

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: "3.9"

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install dactyl lxml

    - name: Build docs
      run: |
        stamp=$(date +'%Y%m%d%H%M%S')
        dactyl_build -o "$stamp"
        dactyl_build -o "$stamp/ja" -t ja
        cp ./favicon.ico "$stamp"


    - name: Install SSH key
      uses: shimataro/ssh-key-action@v2
      with:
        key: ${{ secrets.PRODUCTION_KEY }}
        known_hosts: ${{ secrets.KNOWN_HOSTS }}
        config: |
          Host xrplprod
            HostName developers1.ripple.com
            User jenkins

    - name: Push to Prod
      run: |
        rsync -av $stamp xrplprod:/srv/developers/releases/
        ssh xrplprod "rm -f /srv/developers/current && ln -s /srv/developers/releases/$stamp /srv/developers/current"

    - name: Clean up old deploys
      run: |
        ssh xrplprod "find /srv/developers/releases -maxdepth 1 -type d -regex '.*/[0-9]+' | sort -r | tail -n+6 | xargs rm -rf"
