peaceiris / actions-gh-pages

GitHub Actions for GitHub Pages 🚀 Deploy static files and publish your site easily. Static-Site-Generators-friendly.
https://github.com/marketplace/actions/github-pages-action
MIT License
4.66k stars 369 forks source link

Enhancement proposal: dry run / test mode #451

Open vincerubinetti opened 4 years ago

vincerubinetti commented 4 years ago

npm-publish has a nice feature called --dry-run that lets you test what the command is going to do without actually doing it. It might be nice to have something like that in actions-gh-pages.

It could look like this:

name: ci
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code # blah blah blah
      - name: Set up Node # blah blah blah
      - name: Install packages # blah blah blah
      - name: Build app # blah blah blah
      - name: Test deploy
        uses: peaceiris/actions-gh-pages@v3
        if: github.event_name == 'pull_request' # on pull request
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          dry_run: true
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        if: github.event_name == 'push' # on push to master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

That way, on each pull request, I can see if this actions-gh-pages step in the CI workflow throws any errors, and I can get a list of what would've been published to the gh-pages branch (and any other helpful info). This would give me confidence that it will work fine when pushing/merging into master.

peaceiris commented 4 years ago

Thank you for the suggestion. Good idea.

I'm assuming usage like the following.

- name: Deploy
  uses: peaceiris/actions-gh-pages@v3
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    publish_dir: ./public
    dry_run: ${{ github.event_name == 'pull_request' }}
peaceiris commented 4 years ago

Could you test #513 as follows?

- name: Deploy
  uses: peaceiris/actions-gh-pages@41f7401 #513
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    dry_run: ${{ github.event_name == 'pull_request' }}
vincerubinetti commented 3 years ago

Sorry for the delay. It seems like it worked:

https://github.com/vincerubinetti/word4word/runs/1295010202?check_suite_focus=true

danielhaap83 commented 1 year ago

Hi @peaceiris,

what is the status of this Issue? I can see a PR already. Is it working? Why is it not yet merged? If there are still some TODO's for the PR I might be able to support (if OK of course).

This feature would be very nice to have.

BR