diff --git a/.github/workflows/prod-deploy.yml b/.github/workflows/prod-deploy.yml new file mode 100644 index 0000000000..a18b1c138d --- /dev/null +++ b/.github/workflows/prod-deploy.yml @@ -0,0 +1,52 @@ +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 -e "ssh $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"