diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..6cdd1aea --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,48 @@ +name: Deploy RDoc site to Pages + +on: + push: + branches: [ 'master' ] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Ruby + uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0 + with: + ruby-version: '3.4' + bundler-cache: true + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Install dependencies + run: gem install rdoc + - name: Build with RDoc + # Outputs to the './_site' directory by default + run: rake rdoc + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index c09e7b93..d48a1b9d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /vendor/x64-mswin64* /ext/curses/Makefile .ruby-version +_site diff --git a/Rakefile b/Rakefile index bdfdfddd..9b3c6fff 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,14 @@ require "bundler" Bundler::GemHelper.install_tasks + +begin + require "rdoc/task" + RDoc::Task.new do |doc| + doc.main = "README.md" + doc.title = "Curses: A Ruby binding for curses, ncurses, and PDCurses." + doc.rdoc_files = FileList.new %w[ext lib README.md BSDL COPYING] + doc.rdoc_dir = "_site" # for github pages + end +rescue LoadError +end