name: Docs

on:
  push:
    branches:
      - master

permissions: {}

env:
  TRAVIS_OS_NAME: linux

jobs:
  deploy_api_docs:
    if: github.repository_owner == 'crystal-lang'
    env:
      ARCH: x86_64
      ARCH_CMD: linux64
    runs-on: ubuntu-latest
    steps:
      - name: Download Crystal source
        uses: actions/checkout@v6
        with:
          persist-credentials: false

      - name: Prepare System
        run: bin/ci prepare_system

      - name: Prepare Build
        run: bin/ci prepare_build

      - name: Build docs
        run: bin/ci with_build_env 'make crystal docs threads=1'

      - name: Set revision
        run: echo "$GITHUB_SHA" > ./docs/revision.txt

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6.1.0
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Deploy API docs to S3
        run: |
          aws s3 sync ./docs s3://crystal-api/api/master --delete
