name: Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: Deploy to Heroku
    runs-on: ubuntu-24.04
    if: github.repository == 'freeCodeCamp/devdocs'
    steps:
    - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
    - name: Set up Ruby
      uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
      with:
        bundler-cache: true # runs 'bundle install' and caches installed gems automatically
    - name: Run tests
      run: bundle exec rake
    - name: Install Heroku CLI
      run: |
        curl https://cli-assets.heroku.com/install.sh | sh
    - name: Deploy to Heroku
      uses: akhileshns/heroku-deploy@e3eb99d45a8e2ec5dca08735e089607befa4bf28 # v3.14.15
      with:
        heroku_api_key: ${{secrets.HEROKU_API_KEY}}
        heroku_app_name: "devdocs"
        heroku_email: "team@freecodecamp.com"
        dontuseforce: true # --force should never be necessary
        dontautocreate: true # The app exists, it should not be created
