discorb-lib/discorb

View on GitHub
.github/workflows/build_main.yml

Summary

Maintainability
Test Coverage
name: Build YARD with main

on:
  workflow_dispatch:
  schedule:
    - cron: "0 * * * *"

jobs:
  main:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.0.2
          bundler-cache: true
      - name: Set up git settings
        run: |
          git config --global user.email "action@github.com"
          git config --global user.name "GitHub Action"
      - name: Clone pages
        env:
          SSH_SECRET: ${{ secrets.SSH }}
          GIT_SSH_COMMAND: ssh -i ~/ssh_secret
        run: |
          echo "$SSH_SECRET" > ~/ssh_secret
          chmod 600 ~/ssh_secret
          git clone git@github.com:discorb-lib/discorb-lib.github.io /tmp/pages
      - name: Install dependencies
        run: |
          bundle config --local with 'docs'
          bundle install
          gem update uri
      - name: Generate document
        run: bundle exec rake document
      - name: Push document
        env:
          SSH_SECRET: ${{ secrets.SSH }}
          GIT_SSH_COMMAND: ssh -i ~/ssh_secret
        run: |
          echo "$SSH_SECRET" > ~/ssh_secret
          chmod 600 ~/ssh_secret
          cp -r ./doc/. /tmp/pages
          cd /tmp/pages
          git add -A
          git commit -m "Update: Update document for ${{ github.sha }} by cron"
          git update-ref -d refs/remotes/origin/user
          git push origin main -f
        continue-on-error: true