Compare commits

..

3 Commits

Author SHA1 Message Date
peaceiris
21536c05d5 chore(release): 3.5.4-0
Some checks failed
Release / release (push) Has been cancelled
2020-03-15 05:46:59 +09:00
peaceiris
3a443e3a0a chore(release): Add build assets 2020-03-15 05:46:59 +09:00
peaceiris
c320668126 fix: skip on forks
Close #153
2020-03-14 20:45:50 +00:00
42 changed files with 29043 additions and 4506 deletions

9
.dependabot/config.yml Normal file
View File

@@ -0,0 +1,9 @@
version: 1
update_configs:
- package_manager: "javascript"
directory: "/"
update_schedule: "daily"
default_labels:
- "dependencies"
commit_message:
prefix: "deps"

View File

@@ -6,13 +6,10 @@
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended",
"prettier/@typescript-eslint"
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended"
],
"plugins": ["@typescript-eslint"],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"

View File

@@ -1,36 +0,0 @@
---
name: User Support
about: Questions for this Action
title: 'sample_title'
labels: support
assignees: peaceiris
---
<!-- Note that an issue which does not follow the template will be closed silently. -->
### Check list before opening this issue
- [ ] I read the latest README
- I checked [Available Options](https://github.com/peaceiris/actions-gh-pages#options)
- I followed [Tips and FAQ](https://github.com/peaceiris/actions-gh-pages#tips-and-faq)
- I tried [Workflow Examples](https://github.com/peaceiris/actions-gh-pages#examples)
- I read the latest GitHub Actions official documentation and learned the basic spec and concepts
### Describe your question
<!-- A clear and concise description of what the question is. -->
### Link to your contents
<!--
- Link to your public repository here
- Link to your workflow here
-->
### Screenshots
<!-- If applicable, add screenshots to help explain your question. -->
### Additional context
<!-- Add any other context about the problem here. -->

View File

@@ -1,44 +0,0 @@
---
name: Bug Report
about: First, use the User Support Issue Template
title: 'sample_title'
labels: bug
assignees: peaceiris
---
<!-- Note that an issue which does not follow the template will be closed silently. -->
### Describe the bug
<!-- A clear and concise description of what the bug is. -->
### To Reproduce
<!--
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
-->
### Expected behavior
<!-- A clear and concise description of what you expected to happen. -->
### Screenshots
<!-- If applicable, add screenshots to help explain your problem. -->
### Your YAML file
<!--
- A link to your repository
- A link to your YAML file
-->
### Additional context
<!-- Add any other context about the problem here. -->

View File

@@ -1,26 +0,0 @@
---
name: Proposal
about: Suggest an idea for this project
title: 'sample_title'
labels: proposal
assignees: peaceiris
---
<!-- Note that an issue which does not follow the template will be closed silently. -->
### Is your feature request related to a problem? Please describe
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
### Describe the solution you'd like
<!-- A clear and concise description of what you want to happen. -->
### Describe alternatives you've considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
### Additional context
<!-- Add any other context or screenshots about the feature request here. -->

31
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,31 @@
---
name: Bug report
about: Create a report to help us improve
title: 'sample_title'
labels: bug
assignees: peaceiris
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Your YAML file**
- A link to your repository
- A link to your YAML file
**Additional context**
Add any other context about the problem here.

View File

@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Actions - GitHub Support Community Forum
url: https://github.community/c/github-actions
- name: GitHub Actions Community Forum
url: https://github.community/t5/GitHub-Actions/bd-p/actions
about: Please ask questions about GitHub Actions here.
- name: GitHub Pages Documentation
url: https://help.github.com/en/github/working-with-github-pages

20
.github/ISSUE_TEMPLATE/proposal.md vendored Normal file
View File

@@ -0,0 +1,20 @@
---
name: Proposal
about: Suggest an idea for this project
title: 'sample_title'
labels: proposal
assignees: peaceiris
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

31
.github/ISSUE_TEMPLATE/user_support.md vendored Normal file
View File

@@ -0,0 +1,31 @@
---
name: User support
about: Questions for this action
title: 'sample_title'
labels: support
assignees: peaceiris
---
**Check list before opening this issue**
- [ ] I read the latest README
- I checked [Available Options](https://github.com/peaceiris/actions-gh-pages#options)
- I followed [Tips and FAQ](https://github.com/peaceiris/actions-gh-pages#tips-and-faq)
- I tried [Workflow Examples](https://github.com/peaceiris/actions-gh-pages#examples)
**Describe your question**
A clear and concise description of what the question is.
**Link to your contents**
- Link to your public repository here
- Link to your workflow here
**Screenshots**
If applicable, add screenshots to help explain your question.
**Additional context**
Add any other context about the problem here.

View File

@@ -1,26 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
time: '11:00'
timezone: Japan
labels:
- dependencies
ignore:
- dependency-name: "@types/node"
versions:
- ">= 13.a, < 14"
- ">= 14.a, < 15"
commit-message:
prefix: deps
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
labels:
- "CI/CD"
commit-message:
prefix: ci

View File

@@ -1,29 +0,0 @@
name: "Code Scanning"
on:
push:
branches:
- main
pull_request:
jobs:
CodeQL-Build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: javascript
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -1,43 +0,0 @@
name: 'Dev Image CI'
on:
push:
branches:
- main
paths:
- '.github/workflows/dev-image.yml'
- '.dockerignore'
- '.nvmrc'
- 'Dockerfile'
- 'Makefile'
pull_request:
types:
- opened
- synchronize
paths:
- '.github/workflows/dev-image.yml'
- '.dockerignore'
- '.nvmrc'
- 'Dockerfile'
- 'Makefile'
jobs:
skipci:
runs-on: ubuntu-18.04
steps:
- run: echo "[skip ci] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
dev-image-test:
runs-on: ubuntu-18.04
if: contains(github.event.head_commit.message, '[skip ci]') == false
steps:
- uses: actions/checkout@v2.3.1
- name: Login to Packages
run: echo '${{ secrets.GITHUB_TOKEN }}' | docker login 'docker.pkg.github.com' -u 'peaceiris' --password-stdin
- run: make pull
if: github.event_name == 'pull_request'
- run: make build
- run: make cirun cmd="npm ci"
- run: make ciall
- run: make push
if: github.ref == 'refs/heads/main'

View File

@@ -3,7 +3,6 @@ name: Purge image cache
on:
schedule:
- cron: '54 18 * * */7'
workflow_dispatch:
jobs:
purge:

View File

@@ -9,7 +9,7 @@ jobs:
release:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/checkout@v2
- name: Dump GitHub context
env:

17
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: "Stale"
on:
schedule:
- cron: "6 6 * * *"
jobs:
stale:
runs-on: ubuntu-18.04
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
stale-pr-message: 'This pull request is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
days-before-stale: 21
days-before-close: 7

113
.github/workflows/test-action.yml vendored Normal file
View File

@@ -0,0 +1,113 @@
name: Test Action
on:
push:
branches:
- master
paths-ignore:
- '*.md'
pull_request:
types:
- opened
- synchronize
paths-ignore:
- '*.md'
jobs:
skipci:
runs-on: ubuntu-18.04
steps:
- run: echo "[Skip CI] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
test:
runs-on: ${{ matrix.os }}
if: contains(github.event.head_commit.message, '[skip ci]') == false
strategy:
max-parallel: 1
matrix:
os:
- 'ubuntu-18.04'
- 'macos-latest'
- 'windows-latest'
steps:
- uses: actions/checkout@v2
- name: Read .nvmrc
run: echo "::set-output name=NVMRC::$(cat .nvmrc)"
id: nvm
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '${{ steps.nvm.outputs.NVMRC }}'
- run: npm i -g npm
- name: Dump version
run: |
node -v
npm --version
git --version
- run: npm ci
- name: Remove lint-staged husky
run: |
npm uninstall lint-staged husky
git checkout package-lock.json package.json
- run: npm run build
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: '0.3.5'
- name: Build
working-directory: ./test_projects/mdbook
run: mdbook build
- name: Prepare tag
id: prepare_tag
if: startsWith(github.ref, 'refs/tags/')
run: |
TAG_NAME="${GITHUB_REF##refs/tags/}"
echo "::set-output name=tag_name::${TAG_NAME}"
echo "::set-output name=deploy_tag_name::deploy-${TAG_NAME}"
- name: Deploy
if: matrix.os != 'windows-latest'
uses: ./
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
# github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_branch: gh-pages
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
# commit_message: ${{ github.event.head_commit.message }}
# tag_name: ${{ steps.prepare_tag.outputs.deploy_tag_name }}
# tag_message: 'Deployment ${{ steps.prepare_tag.outputs.tag_name }}'
- name: Deploy
if: matrix.os == 'windows-latest'
uses: ./
with:
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
# personal_token: ${{ secrets.PERSONAL_TOKEN }}
# publish_branch: gh-pages
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
# user_name: iris
# user_email: email@peaceiris.com
# commit_message: ${{ github.event.head_commit.message }}
# tag_name: ${{ steps.prepare_tag.outputs.deploy_tag_name }}
# tag_message: 'Deployment ${{ steps.prepare_tag.outputs.tag_name }}'

View File

@@ -3,38 +3,40 @@ name: 'Test'
on:
push:
branches:
- main
- master
paths-ignore:
- '*.md'
pull_request:
types:
- opened
- synchronize
paths-ignore:
- '*.md'
jobs:
skipci:
runs-on: ubuntu-18.04
steps:
- run: echo "[Skip CI] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
test:
runs-on: ${{ matrix.os }}
if: contains(github.event.head_commit.message, '[skip ci]') == false
strategy:
matrix:
os:
- 'ubuntu-20.04'
- 'ubuntu-18.04'
- 'ubuntu-16.04'
- 'macos-latest'
- 'windows-latest'
steps:
- uses: actions/checkout@v2.3.1
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "${GITHUB_CONTEXT}"
- uses: actions/checkout@v2
- name: Read .nvmrc
run: echo "::set-output name=NVMRC::$(cat .nvmrc)"
id: nvm
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '${{ steps.nvm.outputs.NVMRC }}'
@@ -49,134 +51,25 @@ jobs:
- run: npm ci
- name: Run prettier
if: startsWith(matrix.os, 'ubuntu-18.04')
if: startsWith(matrix.os, 'ubuntu')
run: npm run format:check
- name: Run eslint
if: startsWith(matrix.os, 'ubuntu-18.04')
if: startsWith(matrix.os, 'ubuntu')
run: npm run lint
- name: Run ncc
if: startsWith(matrix.os, 'ubuntu')
run: npm run build
- run: npm test
- name: Upload test coverage as artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v1
with:
name: coverage-${{ matrix.os }}
name: coverage
path: coverage
- uses: codecov/codecov-action@v1.0.11
- uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Run ncc
run: npm run build
- name: Remove lint-staged husky
if: github.ref == 'refs/heads/main'
run: |
npm uninstall lint-staged husky
git checkout package-lock.json package.json
- name: Setup mdBook
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-mdbook@v1.1.12
with:
mdbook-version: '0.3.7'
- name: Build site
if: github.ref == 'refs/heads/main'
working-directory: ./test_projects/mdbook
run: mdbook build
- name: Deploy
if: |
startsWith(matrix.os, 'ubuntu-18.04') &&
github.ref == 'refs/heads/main'
uses: ./
with:
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_branch: gh-pages
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
# commit_message: ${{ github.event.head_commit.message }}
cname: 'actions-gh-pages.peaceiris.com'
- name: Deploy
if: |
startsWith(matrix.os, 'ubuntu-16.04') &&
github.ref == 'refs/heads/main'
uses: ./
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
# github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages-ubuntu-16.04
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
keep_files: true
force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
full_commit_message: ${{ github.event.head_commit.message }}
- name: Deploy
if: |
startsWith(matrix.os, 'macos') &&
github.ref == 'refs/heads/main'
uses: ./
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
# github_token: ${{ secrets.GITHUB_TOKEN }}
# personal_token: ${{ secrets.PERSONAL_TOKEN }}
publish_branch: gh-pages-macos
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
# commit_message: ${{ github.event.head_commit.message }}
- name: Deploy
if: |
startsWith(matrix.os, 'windows') &&
github.ref == 'refs/heads/main'
uses: ./
with:
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
# personal_token: ${{ secrets.PERSONAL_TOKEN }}
publish_branch: gh-pages-windows
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
# commit_message: ${{ github.event.head_commit.message }}
- name: Deploy
if: |
startsWith(matrix.os, 'ubuntu-20.04') &&
github.ref == 'refs/heads/main'
uses: ./
with:
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages-ubuntu-20.04
publish_dir: ./test_projects/mdbook/book
# external_repository: ''
allow_empty_commit: true
# keep_files: true
# force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
# commit_message: ${{ github.event.head_commit.message }}

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/checkout@v2
- name: Update major tag
if: github.event.release.prerelease == false

2
.nvmrc
View File

@@ -1 +1 @@
12.18.2
12.16.1

View File

@@ -1,5 +1,5 @@
{
"printWidth": 100,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,

View File

@@ -1,4 +1,3 @@
{
"git.ignoreLimitWarning": true,
"deno.enable": false
"git.ignoreLimitWarning": true
}

View File

@@ -2,519 +2,6 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
# [3.7.0-0](https://github.com/peaceiris/actions-gh-pages/compare/v3.6.4...v3.7.0-0) (2020-07-21)
### ci
* bump codecov/codecov-action from v1.0.10 to v1.0.11 (#401) ([a5a8912](https://github.com/peaceiris/actions-gh-pages/commit/a5a8912d3e47a3ba8785d356ebed0fd02e2eeb46)), closes [#401](https://github.com/peaceiris/actions-gh-pages/issues/401)
* update label ([5980f05](https://github.com/peaceiris/actions-gh-pages/commit/5980f05de835c05638459c3c7a80d76edd0c7969))
### deps
* bump @types/jest from 26.0.4 to 26.0.5 (#402) ([42a6cdd](https://github.com/peaceiris/actions-gh-pages/commit/42a6cdde0c0d499af05cd22020132f6240d578a8)), closes [#402](https://github.com/peaceiris/actions-gh-pages/issues/402)
* bump @types/node from 12.12.50 to 12.12.51 (#404) ([0cb61e9](https://github.com/peaceiris/actions-gh-pages/commit/0cb61e91a5487c04cb202e13a8d2bc25c09c80e1)), closes [#404](https://github.com/peaceiris/actions-gh-pages/issues/404)
### docs
* update dependabot label ([2504696](https://github.com/peaceiris/actions-gh-pages/commit/250469649c036a88f547b96f94867900a1f19163))
### feat
* Add destination_dir option (#403) ([f30118c](https://github.com/peaceiris/actions-gh-pages/commit/f30118c78eebbbe6cf66009b80a7414a4047de43)), closes [#403](https://github.com/peaceiris/actions-gh-pages/issues/403) [#324](https://github.com/peaceiris/actions-gh-pages/issues/324) [#390](https://github.com/peaceiris/actions-gh-pages/issues/390)
## [3.6.4](https://github.com/peaceiris/actions-gh-pages/compare/v3.6.3...v3.6.4) (2020-07-18)
### chore
* change default branch from master to main (#396) ([932df18](https://github.com/peaceiris/actions-gh-pages/commit/932df18147b59ce4a998b4caabfcc50f1889c827)), closes [#396](https://github.com/peaceiris/actions-gh-pages/issues/396)
### deps
* bump standard-version from 8.0.1 to 8.0.2 (#395) ([c935046](https://github.com/peaceiris/actions-gh-pages/commit/c935046a93788ca4ea55bb13f438ae77a54a9197)), closes [#395](https://github.com/peaceiris/actions-gh-pages/issues/395)
* bump typescript from 3.9.6 to 3.9.7 (#399) ([7e92312](https://github.com/peaceiris/actions-gh-pages/commit/7e92312ae46d6a7ad1c55a6ce3d98c66ae1ddda3)), closes [#399](https://github.com/peaceiris/actions-gh-pages/issues/399)
### docs
* change default branch from master to main (#397) ([6901b8e](https://github.com/peaceiris/actions-gh-pages/commit/6901b8e8fcec69a339c4a622b85ec3f66e78f90a)), closes [#397](https://github.com/peaceiris/actions-gh-pages/issues/397)
### feat
* Allow absolute path for publish_dir (#400) ([e193524](https://github.com/peaceiris/actions-gh-pages/commit/e193524bff3509becae7e3ced3114176cc70a5dd)), closes [#400](https://github.com/peaceiris/actions-gh-pages/issues/400) [#242](https://github.com/peaceiris/actions-gh-pages/issues/242)
* enhance error message (#398) ([3d65640](https://github.com/peaceiris/actions-gh-pages/commit/3d656402e52a96a0c027e4ad98f3ce06da7f8c1b)), closes [#398](https://github.com/peaceiris/actions-gh-pages/issues/398)
## [3.6.3](https://github.com/peaceiris/actions-gh-pages/compare/v3.6.2...v3.6.3) (2020-07-14)
### deps
* bump @types/node from 12.12.48 to 12.12.50 (#392) ([a4205cb](https://github.com/peaceiris/actions-gh-pages/commit/a4205cbdd8cd3a11aee9c47b7f9d99a615b70a21)), closes [#392](https://github.com/peaceiris/actions-gh-pages/issues/392)
* bump standard-version from 8.0.0 to 8.0.1 (#391) ([6b76e36](https://github.com/peaceiris/actions-gh-pages/commit/6b76e36ab31b40e721fdf587221239d94ca5d141)), closes [#391](https://github.com/peaceiris/actions-gh-pages/issues/391)
### docs
* Add dependabot.yml example (#385) ([a8941b8](https://github.com/peaceiris/actions-gh-pages/commit/a8941b89c6f5476753fcdadcacbfb73206faefb3)), closes [#385](https://github.com/peaceiris/actions-gh-pages/issues/385)
* add notes #349 (#387) ([488b74c](https://github.com/peaceiris/actions-gh-pages/commit/488b74cc9f861adb4649850096fb9f367363c096)), closes [#349](https://github.com/peaceiris/actions-gh-pages/issues/349) [#387](https://github.com/peaceiris/actions-gh-pages/issues/387)
* Add Schedule and Manual Deployment (#386) ([16d58be](https://github.com/peaceiris/actions-gh-pages/commit/16d58bea333f07b6141ab6d6f95dca541fde8853)), closes [#386](https://github.com/peaceiris/actions-gh-pages/issues/386)
* pin actions/setup-node from v2 to v2.1.0 (#389) ([d753ac9](https://github.com/peaceiris/actions-gh-pages/commit/d753ac9b7dd593b0877d35bc997ea8665c73866c)), closes [#389](https://github.com/peaceiris/actions-gh-pages/issues/389) [#388](https://github.com/peaceiris/actions-gh-pages/issues/388)
### fix
* isProhibitedBranch detection (#394) ([f53ab0c](https://github.com/peaceiris/actions-gh-pages/commit/f53ab0c2a5d3f3b2e6524639bae8ca84e454e049)), closes [#394](https://github.com/peaceiris/actions-gh-pages/issues/394)
## [3.6.2](https://github.com/peaceiris/actions-gh-pages/compare/v3.6.1...v3.6.2) (2020-07-08)
### chore
* [CodeFactor] Apply fixes (#326) ([8f1f960](https://github.com/peaceiris/actions-gh-pages/commit/8f1f960923fb9b1ad582065a9e8921501233235d)), closes [#326](https://github.com/peaceiris/actions-gh-pages/issues/326)
* Add note reading official docs ([aa82aeb](https://github.com/peaceiris/actions-gh-pages/commit/aa82aebc1d90d5e484f263ac8b446717fe186b29)), closes [#339](https://github.com/peaceiris/actions-gh-pages/issues/339)
* change prettier to plugin:prettier/recommended (#366) ([91a3cf4](https://github.com/peaceiris/actions-gh-pages/commit/91a3cf4cdd6ff12a249851003b22ba9ce7a131d1)), closes [#366](https://github.com/peaceiris/actions-gh-pages/issues/366)
* change printWidth from 80 to 100 (#362) ([4d89a38](https://github.com/peaceiris/actions-gh-pages/commit/4d89a385db8421a90a755e655201bfbb8e037f7d)), closes [#362](https://github.com/peaceiris/actions-gh-pages/issues/362)
* Comment out explanations ([e705cf5](https://github.com/peaceiris/actions-gh-pages/commit/e705cf59bce4073ec34d96e0b007331bb156949f))
* fix extends (#329) ([646a1a3](https://github.com/peaceiris/actions-gh-pages/commit/646a1a3881b4d64f0baaf0f2a4bad00d80f0b00c)), closes [#329](https://github.com/peaceiris/actions-gh-pages/issues/329)
* Please follow the issue templates ([6d42c2c](https://github.com/peaceiris/actions-gh-pages/commit/6d42c2c3b6a5bfe9017e35a3bf449b52cb7f7e9a))
* update ignore version @types/node (#341) ([8b93bc1](https://github.com/peaceiris/actions-gh-pages/commit/8b93bc127f802720e03d0c8fc04474187d513b8e)), closes [#341](https://github.com/peaceiris/actions-gh-pages/issues/341)
* update url ([5b6baff](https://github.com/peaceiris/actions-gh-pages/commit/5b6baff975eb347e058449684755e5a6f1d90dbf))
### ci
* add Code Scanning workflow (#381) ([c6333d4](https://github.com/peaceiris/actions-gh-pages/commit/c6333d41f0f49f346e5610446126c513c830a63a)), closes [#381](https://github.com/peaceiris/actions-gh-pages/issues/381)
* add is_skip [skip ci] ([f954d41](https://github.com/peaceiris/actions-gh-pages/commit/f954d4113e9aa614acce48a109989f2818498647))
* Add package-ecosystem github-actions ([65dc7af](https://github.com/peaceiris/actions-gh-pages/commit/65dc7af0847a52d3e8dfa56f3f64dcb0acf6032f))
* Add ubuntu-20.04 to matrix (#336) ([773665f](https://github.com/peaceiris/actions-gh-pages/commit/773665f4f03e53cf0c58c70fb75a4b61a59faa43)), closes [#336](https://github.com/peaceiris/actions-gh-pages/issues/336) [/github.com/actions/virtual-environments/issues/228#issuecomment-637362224](https://github.com//github.com/actions/virtual-environments/issues/228/issues/issuecomment-637362224)
* add workflow_dispatch event ([4dfc201](https://github.com/peaceiris/actions-gh-pages/commit/4dfc201b552e8fdb33f8957c688f22aa826808f7))
* bump actions/checkout from v2 to v2.3.0 (#353) ([744621d](https://github.com/peaceiris/actions-gh-pages/commit/744621d13de4d21149e264f31f753a661d02657b)), closes [#353](https://github.com/peaceiris/actions-gh-pages/issues/353)
* bump actions/checkout from v2.3.0 to v2.3.1 (#355) ([70411f0](https://github.com/peaceiris/actions-gh-pages/commit/70411f07e77787ea9517c20372416bd564bacc49)), closes [#355](https://github.com/peaceiris/actions-gh-pages/issues/355)
* bump actions/setup-node from v1.4.1 to v2.0.0 (#334) ([59c0ce4](https://github.com/peaceiris/actions-gh-pages/commit/59c0ce428416f5d77dd80447234854c5f265389a)), closes [#334](https://github.com/peaceiris/actions-gh-pages/issues/334)
* bump actions/setup-node from v2.0.0 to v2.1.0 (#373) ([ac98064](https://github.com/peaceiris/actions-gh-pages/commit/ac980646cfdb44c8a3c8ca8feef157fec899833b)), closes [#373](https://github.com/peaceiris/actions-gh-pages/issues/373)
* bump codecov/codecov-action from v1 to v1.0.7 (#333) ([d1afc2e](https://github.com/peaceiris/actions-gh-pages/commit/d1afc2e8ce82a3894c4f317aed2034c79df7f5d6)), closes [#333](https://github.com/peaceiris/actions-gh-pages/issues/333)
* bump codecov/codecov-action from v1.0.7 to v1.0.10 (#375) ([05b3340](https://github.com/peaceiris/actions-gh-pages/commit/05b3340742dd75308cb4eca7658801e6ad1845fe)), closes [#375](https://github.com/peaceiris/actions-gh-pages/issues/375)
* bump peaceiris/actions-mdbook from v1 to v1.1.12 (#360) ([19976af](https://github.com/peaceiris/actions-gh-pages/commit/19976af8e50d10695ac54978295745e906406cd6)), closes [#360](https://github.com/peaceiris/actions-gh-pages/issues/360)
* Change test cases ([c8f4fd4](https://github.com/peaceiris/actions-gh-pages/commit/c8f4fd4c5df03e8cf5236282d5bd0803b916d80b))
* Change update_type from all to semver:minor ([db632c7](https://github.com/peaceiris/actions-gh-pages/commit/db632c70f26b9129de49226f262be4a285869010))
* Pin to actions/setup-node v1.4.1 ([4477775](https://github.com/peaceiris/actions-gh-pages/commit/4477775802ff17d7755561bf9b5c1ba0ce8a3eb1))
* push dev docker image to packages (#384) ([29acb8e](https://github.com/peaceiris/actions-gh-pages/commit/29acb8eaeec4ad61d11a47ca8afbc51064d594a6)), closes [#384](https://github.com/peaceiris/actions-gh-pages/issues/384)
* remove open-pull-requests-limit ([1ceef71](https://github.com/peaceiris/actions-gh-pages/commit/1ceef71a57129c1fc8e593d29088f17bed514448))
* remove pull_request.types ([489a03a](https://github.com/peaceiris/actions-gh-pages/commit/489a03aac40f9daac18d4d333736c60057784060))
* remove skipci job ([f444b0e](https://github.com/peaceiris/actions-gh-pages/commit/f444b0ede2b23bdd191ff9a5070ebbf61ec4ff31))
* Update Dependabot config file (#330) ([c4529a5](https://github.com/peaceiris/actions-gh-pages/commit/c4529a59aa0e12bf828918aa16a7d456a1366b40)), closes [#330](https://github.com/peaceiris/actions-gh-pages/issues/330)
### deps
* Add eslint plugins for prettier (#323) ([6b188a8](https://github.com/peaceiris/actions-gh-pages/commit/6b188a80225f18bbcdc7cf5f708edacdf2190f40)), closes [#323](https://github.com/peaceiris/actions-gh-pages/issues/323)
* bump @actions/github from 2.1.1 to 2.2.0 (#287) ([d6f110c](https://github.com/peaceiris/actions-gh-pages/commit/d6f110ce1e8b94e7ba3786e3d3bdf6858a8d0e06)), closes [#287](https://github.com/peaceiris/actions-gh-pages/issues/287)
* bump @actions/github from 2.2.0 to 3.0.0 (#342) ([3721310](https://github.com/peaceiris/actions-gh-pages/commit/37213103b17e431217c197945d16fc9dc0cc44bf)), closes [#342](https://github.com/peaceiris/actions-gh-pages/issues/342)
* bump @actions/github from 3.0.0 to 4.0.0 (#372) ([4fd6bd9](https://github.com/peaceiris/actions-gh-pages/commit/4fd6bd94b693b5734ae0ba84ef14e6813bb9d67d)), closes [#372](https://github.com/peaceiris/actions-gh-pages/issues/372)
* bump @types/jest from 25.2.1 to 25.2.2 (#299) ([df4a516](https://github.com/peaceiris/actions-gh-pages/commit/df4a516dab432cb497694c4cf45ad472f8294f07)), closes [#299](https://github.com/peaceiris/actions-gh-pages/issues/299)
* bump @types/jest from 25.2.2 to 25.2.3 (#310) ([5a8b86f](https://github.com/peaceiris/actions-gh-pages/commit/5a8b86ffc36586f60e5a3c55d1081c5a98b5a788)), closes [#310](https://github.com/peaceiris/actions-gh-pages/issues/310)
* bump @types/jest from 25.2.3 to 26.0.0 (#346) ([7ddf1f7](https://github.com/peaceiris/actions-gh-pages/commit/7ddf1f7f9009f1705ef5d83a5d1b1bfd8de02729)), closes [#346](https://github.com/peaceiris/actions-gh-pages/issues/346)
* bump @types/jest from 26.0.0 to 26.0.3 (#367) ([31b8c32](https://github.com/peaceiris/actions-gh-pages/commit/31b8c32f32fa1b2ea8f9274237e7062f2c437b8b)), closes [#367](https://github.com/peaceiris/actions-gh-pages/issues/367)
* bump @types/jest from 26.0.3 to 26.0.4 (#380) ([b882ee3](https://github.com/peaceiris/actions-gh-pages/commit/b882ee3b2a0d236e04e53290df2795306e43ae80)), closes [#380](https://github.com/peaceiris/actions-gh-pages/issues/380)
* bump @types/js-yaml from 3.12.3 to 3.12.4 (#301) ([489eacc](https://github.com/peaceiris/actions-gh-pages/commit/489eaccb268dd77d3685609841e0467e0e3329fd)), closes [#301](https://github.com/peaceiris/actions-gh-pages/issues/301)
* bump @types/node from 12.12.37 to 12.12.38 (#284) ([f621c70](https://github.com/peaceiris/actions-gh-pages/commit/f621c70917d7eebb43449691d750c7966a2e7d64)), closes [#284](https://github.com/peaceiris/actions-gh-pages/issues/284)
* bump @types/node from 12.12.38 to 12.12.41 (#315) ([a4f1f94](https://github.com/peaceiris/actions-gh-pages/commit/a4f1f945d96a7a1d22346d57ec17731466106330)), closes [#315](https://github.com/peaceiris/actions-gh-pages/issues/315)
* bump @types/node from 12.12.41 to 12.12.42 (#316) ([e150ced](https://github.com/peaceiris/actions-gh-pages/commit/e150cedd9678abe94016d55ec0281b3153e88844)), closes [#316](https://github.com/peaceiris/actions-gh-pages/issues/316)
* bump @types/node from 12.12.42 to 12.12.43 (#328) ([a17e9d4](https://github.com/peaceiris/actions-gh-pages/commit/a17e9d437e95afed23f8f84de4f87b0984b5466e)), closes [#328](https://github.com/peaceiris/actions-gh-pages/issues/328)
* bump @types/node from 12.12.43 to 12.12.44 (#340) ([215b80c](https://github.com/peaceiris/actions-gh-pages/commit/215b80c84bd53b69051469d74e2c00cd7ea3f143)), closes [#340](https://github.com/peaceiris/actions-gh-pages/issues/340)
* bump @types/node from 12.12.44 to 12.12.45 (#345) ([a117f83](https://github.com/peaceiris/actions-gh-pages/commit/a117f832ce1dbefef9f8cb2ef45984b2eacef3f4)), closes [#345](https://github.com/peaceiris/actions-gh-pages/issues/345)
* bump @types/node from 12.12.45 to 12.12.47 (#347) ([852c3a3](https://github.com/peaceiris/actions-gh-pages/commit/852c3a3ca67bc00f225c607826ad3c9e5c8f4e4d)), closes [#347](https://github.com/peaceiris/actions-gh-pages/issues/347)
* bump @types/node from 12.12.47 to 12.12.48 (#379) ([ef42af2](https://github.com/peaceiris/actions-gh-pages/commit/ef42af2aefe61c44e432aae82bf67b9a824e7dc2)), closes [#379](https://github.com/peaceiris/actions-gh-pages/issues/379)
* bump @typescript-eslint/eslint-plugin from 2.30.0 to 2.31.0 (#281) ([83dbf81](https://github.com/peaceiris/actions-gh-pages/commit/83dbf819fbc6eb7fb761cdbf04388742abb33479)), closes [#281](https://github.com/peaceiris/actions-gh-pages/issues/281)
* bump @typescript-eslint/eslint-plugin from 2.31.0 to 2.32.0 (#292) ([d307375](https://github.com/peaceiris/actions-gh-pages/commit/d30737529f6d979cb2897284381e1d19c29d067a)), closes [#292](https://github.com/peaceiris/actions-gh-pages/issues/292)
* bump @typescript-eslint/eslint-plugin from 2.32.0 to 2.33.0 (#298) ([d8522ee](https://github.com/peaceiris/actions-gh-pages/commit/d8522eea61493844fb74db00f40a74f2fbe6d192)), closes [#298](https://github.com/peaceiris/actions-gh-pages/issues/298)
* bump @typescript-eslint/eslint-plugin from 2.33.0 to 2.34.0 (#311) ([2076093](https://github.com/peaceiris/actions-gh-pages/commit/2076093b9327451fdb6b692b0212826f4be17cb9)), closes [#311](https://github.com/peaceiris/actions-gh-pages/issues/311)
* bump @typescript-eslint/parser from 2.30.0 to 2.31.0 (#280) ([cbe2833](https://github.com/peaceiris/actions-gh-pages/commit/cbe2833e9b8a2c892d0e982736d859e23c32ec96)), closes [#280](https://github.com/peaceiris/actions-gh-pages/issues/280)
* bump @typescript-eslint/parser from 2.31.0 to 2.32.0 (#291) ([e53cc4c](https://github.com/peaceiris/actions-gh-pages/commit/e53cc4cb81389ccd5df1623432f67acef1f4bd75)), closes [#291](https://github.com/peaceiris/actions-gh-pages/issues/291)
* bump @typescript-eslint/parser from 2.32.0 to 2.33.0 (#295) ([cf2e9ed](https://github.com/peaceiris/actions-gh-pages/commit/cf2e9edd2ab4bd7aae5229292462e81b67bb35b3)), closes [#295](https://github.com/peaceiris/actions-gh-pages/issues/295)
* bump @typescript-eslint/parser from 2.33.0 to 2.34.0 (#307) ([e1eecfc](https://github.com/peaceiris/actions-gh-pages/commit/e1eecfc328a619462f51147c4c45e2d328b3df5d)), closes [#307](https://github.com/peaceiris/actions-gh-pages/issues/307)
* bump @zeit/ncc from 0.22.1 to 0.22.2 (#308) ([c50767d](https://github.com/peaceiris/actions-gh-pages/commit/c50767dbfead29ef6bed2bc12e366aad237c59da)), closes [#308](https://github.com/peaceiris/actions-gh-pages/issues/308)
* bump @zeit/ncc from 0.22.2 to 0.22.3 (#321) ([fcbee38](https://github.com/peaceiris/actions-gh-pages/commit/fcbee383554f244f698aa55d8c277436fc24b1aa)), closes [#321](https://github.com/peaceiris/actions-gh-pages/issues/321)
* bump eslint-plugin-jest from 23.10.0 to 23.11.0 (#293) ([859ffbd](https://github.com/peaceiris/actions-gh-pages/commit/859ffbd0d0c3b21d8b85c37188078341575d9382)), closes [#293](https://github.com/peaceiris/actions-gh-pages/issues/293)
* bump eslint-plugin-jest from 23.11.0 to 23.12.0 (#302) ([9597f4c](https://github.com/peaceiris/actions-gh-pages/commit/9597f4c0a9a0dff27658a7ffb092ca222f62efed)), closes [#302](https://github.com/peaceiris/actions-gh-pages/issues/302)
* bump eslint-plugin-jest from 23.12.0 to 23.13.0 (#303) ([31d3feb](https://github.com/peaceiris/actions-gh-pages/commit/31d3feb0ee67298e9ac9218b716d516123be9a64)), closes [#303](https://github.com/peaceiris/actions-gh-pages/issues/303)
* bump eslint-plugin-jest from 23.13.0 to 23.13.1 (#304) ([dcdf5dd](https://github.com/peaceiris/actions-gh-pages/commit/dcdf5ddc8b0b0ff2b59c6abd99a80b84ff9737b4)), closes [#304](https://github.com/peaceiris/actions-gh-pages/issues/304)
* bump eslint-plugin-jest from 23.13.1 to 23.13.2 (#325) ([fef0123](https://github.com/peaceiris/actions-gh-pages/commit/fef0123d212bf1f2ef37fa762bae63825b62ccd6)), closes [#325](https://github.com/peaceiris/actions-gh-pages/issues/325)
* bump eslint-plugin-jest from 23.13.2 to 23.16.0 (#361) ([b6801e6](https://github.com/peaceiris/actions-gh-pages/commit/b6801e6334bc9eb197a9efe8fe4c6576c467d9e5)), closes [#361](https://github.com/peaceiris/actions-gh-pages/issues/361)
* bump eslint-plugin-jest from 23.16.0 to 23.17.1 (#364) ([a72f521](https://github.com/peaceiris/actions-gh-pages/commit/a72f52102f14f9336d047b98462fca9ca1e67baf)), closes [#364](https://github.com/peaceiris/actions-gh-pages/issues/364)
* bump eslint-plugin-jest from 23.17.1 to 23.18.0 (#378) ([f2192db](https://github.com/peaceiris/actions-gh-pages/commit/f2192db227137977627bc563901aa3eb8c0dacbf)), closes [#378](https://github.com/peaceiris/actions-gh-pages/issues/378)
* bump eslint-plugin-jest from 23.8.2 to 23.9.0 (#278) ([5b29ffa](https://github.com/peaceiris/actions-gh-pages/commit/5b29ffa40d5a99a66f4fba895d86aede7c641663)), closes [#278](https://github.com/peaceiris/actions-gh-pages/issues/278)
* bump eslint-plugin-jest from 23.9.0 to 23.10.0 (#289) ([fd82b38](https://github.com/peaceiris/actions-gh-pages/commit/fd82b38c083cb2bffb0b40862df523c3b61f1314)), closes [#289](https://github.com/peaceiris/actions-gh-pages/issues/289)
* bump eslint-plugin-prettier from 3.1.3 to 3.1.4 (#351) ([5d0c4db](https://github.com/peaceiris/actions-gh-pages/commit/5d0c4dbf3584e1e8adae859cf566304bbef9d0bd)), closes [#351](https://github.com/peaceiris/actions-gh-pages/issues/351)
* bump git from 2.26.2 to 2.27.0 (#331) ([73cf1d1](https://github.com/peaceiris/actions-gh-pages/commit/73cf1d15d9eec3228688911bfcb5cad7a98af1de)), closes [#331](https://github.com/peaceiris/actions-gh-pages/issues/331)
* bump jest-circus from 25.5.4 to 26.0.0 (#282) ([c5a0e44](https://github.com/peaceiris/actions-gh-pages/commit/c5a0e44f79522180ef23e04bc437a57938a3ddb6)), closes [#282](https://github.com/peaceiris/actions-gh-pages/issues/282)
* bump jest-circus from 26.0.0 to 26.0.1 (#283) ([4b44fa2](https://github.com/peaceiris/actions-gh-pages/commit/4b44fa2951a2c33534ee51d97c37f56cc558bf29)), closes [#283](https://github.com/peaceiris/actions-gh-pages/issues/283)
* bump jest-circus from 26.0.1 to 26.1.0 (#365) ([89628f0](https://github.com/peaceiris/actions-gh-pages/commit/89628f03108f88df9e013d5fc38edb2e0393c30f)), closes [#365](https://github.com/peaceiris/actions-gh-pages/issues/365)
* bump js-yaml from 3.13.1 to 3.14.0 (#320) ([89c0c9c](https://github.com/peaceiris/actions-gh-pages/commit/89c0c9cbfa4ed82d2a0394603eb9755dd301cbf3)), closes [#320](https://github.com/peaceiris/actions-gh-pages/issues/320)
* bump lint-staged from 10.2.10 to 10.2.11 (#354) ([3971a95](https://github.com/peaceiris/actions-gh-pages/commit/3971a95d5a8791f689855a603bd3a185fd51b669)), closes [#354](https://github.com/peaceiris/actions-gh-pages/issues/354)
* bump lint-staged from 10.2.2 to 10.2.4 (#306) ([f0fa0c2](https://github.com/peaceiris/actions-gh-pages/commit/f0fa0c21ed2166f5deda1f2332f352d1fb3f89d9)), closes [#306](https://github.com/peaceiris/actions-gh-pages/issues/306)
* bump lint-staged from 10.2.4 to 10.2.6 (#317) ([64f3c7f](https://github.com/peaceiris/actions-gh-pages/commit/64f3c7fc7f9d275599f8370415d8e57b5ff93705)), closes [#317](https://github.com/peaceiris/actions-gh-pages/issues/317)
* bump lint-staged from 10.2.6 to 10.2.7 (#327) ([fe5636c](https://github.com/peaceiris/actions-gh-pages/commit/fe5636cf9590ebe01679f64b7b359c74c71ebe03)), closes [#327](https://github.com/peaceiris/actions-gh-pages/issues/327)
* bump lint-staged from 10.2.7 to 10.2.8 (#337) ([1f596ab](https://github.com/peaceiris/actions-gh-pages/commit/1f596ab2b7992db213bae698af5ac00f1aaf644e)), closes [#337](https://github.com/peaceiris/actions-gh-pages/issues/337)
* bump lint-staged from 10.2.8 to 10.2.9 (#338) ([96f4391](https://github.com/peaceiris/actions-gh-pages/commit/96f4391cd54fe23957e72cc42aec60cd5a43cb2b)), closes [#338](https://github.com/peaceiris/actions-gh-pages/issues/338)
* bump lint-staged from 10.2.9 to 10.2.10 (#350) ([738b4de](https://github.com/peaceiris/actions-gh-pages/commit/738b4dea9f4f6b6d8d04b384b89ffe91b2e8b9d3)), closes [#350](https://github.com/peaceiris/actions-gh-pages/issues/350)
* bump node from 12.16.3 to 12.17.0 (#332) ([ce787cf](https://github.com/peaceiris/actions-gh-pages/commit/ce787cf0519f58fd03bfc967e6e8c1df46d028e1)), closes [#332](https://github.com/peaceiris/actions-gh-pages/issues/332)
* bump node from 12.17.0 to 12.18.0 (#335) ([929a7d0](https://github.com/peaceiris/actions-gh-pages/commit/929a7d0a6aee6813b6b6e7e7a9547676f1d52e8d)), closes [#335](https://github.com/peaceiris/actions-gh-pages/issues/335)
* bump node from 12.18.0 to 12.18.1 (#356) ([2165a2b](https://github.com/peaceiris/actions-gh-pages/commit/2165a2b5fcda87928bfd53d549fca96d9b346565)), closes [#356](https://github.com/peaceiris/actions-gh-pages/issues/356)
* bump node from 12.18.1 to 12.18.2 (#376) ([c6eab41](https://github.com/peaceiris/actions-gh-pages/commit/c6eab4153bb1e9603b6599ce37aa10647c70d6d0)), closes [#376](https://github.com/peaceiris/actions-gh-pages/issues/376)
* bump standard-version from 7.1.0 to 8.0.0 (#286) ([8380af7](https://github.com/peaceiris/actions-gh-pages/commit/8380af7d49a5567cf2300088dbd58dd9f8537b58)), closes [#286](https://github.com/peaceiris/actions-gh-pages/issues/286)
* bump ts-jest from 25.4.0 to 25.5.0 (#285) ([377bddc](https://github.com/peaceiris/actions-gh-pages/commit/377bddc67b49f5a5f88724850ec8224103ff7447)), closes [#285](https://github.com/peaceiris/actions-gh-pages/issues/285)
* bump ts-jest from 25.5.0 to 25.5.1 (#290) ([ce66f63](https://github.com/peaceiris/actions-gh-pages/commit/ce66f63638ff5beb1da6d3a6aa99c7ff7b0e824d)), closes [#290](https://github.com/peaceiris/actions-gh-pages/issues/290)
* bump typescript from 3.8.3 to 3.9.2 (#294) ([8cb34fe](https://github.com/peaceiris/actions-gh-pages/commit/8cb34fe1e515a6b5891fc3124a02995863e67c3e)), closes [#294](https://github.com/peaceiris/actions-gh-pages/issues/294)
* bump typescript from 3.9.2 to 3.9.3 (#314) ([54e6a6f](https://github.com/peaceiris/actions-gh-pages/commit/54e6a6f17245c171ad28062086337a247e203a3a)), closes [#314](https://github.com/peaceiris/actions-gh-pages/issues/314)
* bump typescript from 3.9.3 to 3.9.5 (#343) ([2d9155e](https://github.com/peaceiris/actions-gh-pages/commit/2d9155e27f768eb70ce347c021e176ee9e31aac7)), closes [#343](https://github.com/peaceiris/actions-gh-pages/issues/343)
* bump typescript from 3.9.5 to 3.9.6 (#374) ([ad23393](https://github.com/peaceiris/actions-gh-pages/commit/ad23393e2439c2612c01ed79b7ae625dca5b9e80)), closes [#374](https://github.com/peaceiris/actions-gh-pages/issues/374)
### docs
* Add ubuntu-20.04 ([3de5b23](https://github.com/peaceiris/actions-gh-pages/commit/3de5b2308f0e86ffe1683fc80b8e4bc4d229344b))
* Add use case (#371) ([f86ecdf](https://github.com/peaceiris/actions-gh-pages/commit/f86ecdfe860e15b50844cbf7c49e5bbbdfb3b560)), closes [#371](https://github.com/peaceiris/actions-gh-pages/issues/371)
* bump actions/cache from v1 to v2 ([688a3b3](https://github.com/peaceiris/actions-gh-pages/commit/688a3b3d0c753aa3de216adecbf571b5518702ab))
* bump actions/setup-node from v1 to v2 ([d2b7688](https://github.com/peaceiris/actions-gh-pages/commit/d2b7688ae305ac4fbb9974684b211bc96152cdd7))
* bump hugo to 0.71.1 ([3203c05](https://github.com/peaceiris/actions-gh-pages/commit/3203c05a3af8d0c0323aad8603748b9423bf8ab3))
* enhance external repository section ([938e1fa](https://github.com/peaceiris/actions-gh-pages/commit/938e1fa9f5add2bb580687ed980ee031d6506768)), closes [#245](https://github.com/peaceiris/actions-gh-pages/issues/245) [#318](https://github.com/peaceiris/actions-gh-pages/issues/318)
* Fix image size ([c639d96](https://github.com/peaceiris/actions-gh-pages/commit/c639d964e8e41afd4027c60e7ca4e7001bc1eb30))
* remove Dependabot status badge ([6cad446](https://github.com/peaceiris/actions-gh-pages/commit/6cad446381e55725049b2be9c37f7a1cd57c254e))
* Remove feed badge ([e27e4b7](https://github.com/peaceiris/actions-gh-pages/commit/e27e4b71406226b838bba743da389e750fd4e7cc))
* remove gitbook (#357) ([51c7823](https://github.com/peaceiris/actions-gh-pages/commit/51c782389ac9622c164fc3af2c86c7d26d6eb749)), closes [#357](https://github.com/peaceiris/actions-gh-pages/issues/357)
* remove link to v2 ([58b4bf3](https://github.com/peaceiris/actions-gh-pages/commit/58b4bf398144cdfeee6137f447993e145bfbf6de))
* update Hugo workflow example ([ea6d487](https://github.com/peaceiris/actions-gh-pages/commit/ea6d487bc7f138e3e0124d47d540474ca58c54cc))
* Use yarn install --frozen-lockfile (#288) ([a820967](https://github.com/peaceiris/actions-gh-pages/commit/a8209677e6bb059b97347a797af38d2202a186b1)), closes [#288](https://github.com/peaceiris/actions-gh-pages/issues/288)
### feat
* enhance log message (#383) ([2e97684](https://github.com/peaceiris/actions-gh-pages/commit/2e976845a683a2a44219b06cf6f30f068658c987)), closes [#383](https://github.com/peaceiris/actions-gh-pages/issues/383) [#87](https://github.com/peaceiris/actions-gh-pages/issues/87) [#359](https://github.com/peaceiris/actions-gh-pages/issues/359)
### fix
* order of checks in setGithubToken (#382) ([31cdbe5](https://github.com/peaceiris/actions-gh-pages/commit/31cdbe5222e7cd3f91a1d75bd38b0589a8fb8c3d)), closes [#382](https://github.com/peaceiris/actions-gh-pages/issues/382) [#358](https://github.com/peaceiris/actions-gh-pages/issues/358) [#359](https://github.com/peaceiris/actions-gh-pages/issues/359)
## [3.6.1](https://github.com/peaceiris/actions-gh-pages/compare/v3.6.0...v3.6.1) (2020-05-04)
### docs
* Add example image for commit_message ([f559ed8](https://github.com/peaceiris/actions-gh-pages/commit/f559ed8889a7ba2364757bc7a97b0491263147ff))
### feat
* Fold logs using core.startGroup() (#277) ([db3e60d](https://github.com/peaceiris/actions-gh-pages/commit/db3e60d230c7ebcd5342990f0ffc5af0ed1f4296)), closes [#277](https://github.com/peaceiris/actions-gh-pages/issues/277)
### test
* Add test case for getCommitMessage() (#276) ([5041814](https://github.com/peaceiris/actions-gh-pages/commit/504181401bb2df2de020ed72a7f2b4f8942bcb77)), closes [#276](https://github.com/peaceiris/actions-gh-pages/issues/276)
# [3.6.0](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.10...v3.6.0) (2020-05-04)
### chore
* Enhance style ([750c807](https://github.com/peaceiris/actions-gh-pages/commit/750c807fa1ecf9d3d455cfd0fb5533442c660a1e))
### ci
* Add test-ubuntu-20.04 job (#270) ([7501463](https://github.com/peaceiris/actions-gh-pages/commit/75014632413b319cb87db5b3e54bba2d6a21ac05)), closes [#270](https://github.com/peaceiris/actions-gh-pages/issues/270) [#268](https://github.com/peaceiris/actions-gh-pages/issues/268)
* use github_token ([9d27fac](https://github.com/peaceiris/actions-gh-pages/commit/9d27fac8dcdc50937d59b3068c59acf257ad2398))
### deps
* bump @actions/core from 1.2.3 to 1.2.4 (#265) ([dd1933a](https://github.com/peaceiris/actions-gh-pages/commit/dd1933a7b4b77a06b1995b0e8c40b6c219f32550)), closes [#265](https://github.com/peaceiris/actions-gh-pages/issues/265)
* bump jest from 25.5.2 to 25.5.3 (#267) ([e782e1d](https://github.com/peaceiris/actions-gh-pages/commit/e782e1d32332c2e99058a039dd5caaf0533d0af6)), closes [#267](https://github.com/peaceiris/actions-gh-pages/issues/267)
* bump jest from 25.5.3 to 25.5.4 (#272) ([ae34186](https://github.com/peaceiris/actions-gh-pages/commit/ae34186caa187c2960bae6d656f6ef69c6aa0fba)), closes [#272](https://github.com/peaceiris/actions-gh-pages/issues/272)
* bump jest-circus from 25.5.2 to 25.5.3 (#266) ([c12a4b1](https://github.com/peaceiris/actions-gh-pages/commit/c12a4b1908457ab10af84e0947b66af3f868790c)), closes [#266](https://github.com/peaceiris/actions-gh-pages/issues/266)
* bump jest-circus from 25.5.3 to 25.5.4 (#271) ([a5d411b](https://github.com/peaceiris/actions-gh-pages/commit/a5d411bf285983883daecb16787a8f6549da66d8)), closes [#271](https://github.com/peaceiris/actions-gh-pages/issues/271)
* bump lint-staged from 10.2.0 to 10.2.1 (#264) ([0809306](https://github.com/peaceiris/actions-gh-pages/commit/08093066ac77639e402a4b60492a7759c395ba36)), closes [#264](https://github.com/peaceiris/actions-gh-pages/issues/264)
* bump lint-staged from 10.2.1 to 10.2.2 (#269) ([b9cccec](https://github.com/peaceiris/actions-gh-pages/commit/b9cccec41e2e47ef704d34a7409dc07a50e32d46)), closes [#269](https://github.com/peaceiris/actions-gh-pages/issues/269)
### feat
* Add full_commit_message (#275) ([0b7411e](https://github.com/peaceiris/actions-gh-pages/commit/0b7411e2cf05b033f6766798560d02e932e01bd2)), closes [#275](https://github.com/peaceiris/actions-gh-pages/issues/275) [#274](https://github.com/peaceiris/actions-gh-pages/issues/274)
## [3.5.10](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.9...v3.5.10) (2020-04-30)
### deps
* bump jest from 25.5.1 to 25.5.2 (#260) ([714f710](https://github.com/peaceiris/actions-gh-pages/commit/714f7109225b609d3303bb0cd6f459690a9165b6)), closes [#260](https://github.com/peaceiris/actions-gh-pages/issues/260)
* bump jest-circus from 25.5.1 to 25.5.2 (#259) ([813be06](https://github.com/peaceiris/actions-gh-pages/commit/813be0645e175e6e475ada4f9cc922daeeade00a)), closes [#259](https://github.com/peaceiris/actions-gh-pages/issues/259)
### docs
* Add ubuntu-16.04 ([d9f616f](https://github.com/peaceiris/actions-gh-pages/commit/d9f616f4a278b6c334ce6dea09e69ba698459b38)), closes [#263](https://github.com/peaceiris/actions-gh-pages/issues/263)
* bump actions/setup-python from v1 to v2 (#262) ([029c1a0](https://github.com/peaceiris/actions-gh-pages/commit/029c1a08f9594e3b2c581d78c258cc8e9c66f96c)), closes [#262](https://github.com/peaceiris/actions-gh-pages/issues/262)
* bump python from 3.6 to 3.8 ([eafac7a](https://github.com/peaceiris/actions-gh-pages/commit/eafac7a3ef405ea76543c2c7995b64a19a1695c0))
* change to job level defaults ([20d80bc](https://github.com/peaceiris/actions-gh-pages/commit/20d80bcd8cdfda9728f3c0befe2aa5052209ea50))
* Enhance Python workflow example (#261) ([e4462d9](https://github.com/peaceiris/actions-gh-pages/commit/e4462d9bb679154cb07cca446c8e12c692610838)), closes [#261](https://github.com/peaceiris/actions-gh-pages/issues/261)
* Enhance Supported Platforms ([91e6658](https://github.com/peaceiris/actions-gh-pages/commit/91e6658ef01bbd482a965675988a765faad5fce5))
### feat
* Support ubuntu-16.04 (#263) ([e76c874](https://github.com/peaceiris/actions-gh-pages/commit/e76c874d85f0c0e45f3602fe4a85a15feb87610c)), closes [#263](https://github.com/peaceiris/actions-gh-pages/issues/263)
## [3.5.9](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.8...v3.5.9) (2020-04-29)
### chore
* bump node from 12.16.2 to 12.16.3 ([e5aa21b](https://github.com/peaceiris/actions-gh-pages/commit/e5aa21b8a847df106ce694432a6cac78300266a3))
### deps
* [security] bump @actions/http-client from 1.0.6 to 1.0.8 (#258) ([d217882](https://github.com/peaceiris/actions-gh-pages/commit/d2178821cb5968f5b7c818210297f3dbeea3114c)), closes [#258](https://github.com/peaceiris/actions-gh-pages/issues/258)
* bump @actions/exec from 1.0.3 to 1.0.4 (#254) ([6cb5962](https://github.com/peaceiris/actions-gh-pages/commit/6cb5962c014ba1196680337447c834590d907bde)), closes [#254](https://github.com/peaceiris/actions-gh-pages/issues/254)
* bump jest from 25.5.0 to 25.5.1 (#257) ([6462e1b](https://github.com/peaceiris/actions-gh-pages/commit/6462e1bf5e8ba9325ae66bacba198b12c7e101ed)), closes [#257](https://github.com/peaceiris/actions-gh-pages/issues/257)
* bump jest-circus from 25.5.0 to 25.5.1 (#256) ([051ddfc](https://github.com/peaceiris/actions-gh-pages/commit/051ddfc79a0bbbdd8e623367741645052c63fb9a)), closes [#256](https://github.com/peaceiris/actions-gh-pages/issues/256)
* bump node from 12.16.2 to 12.16.3 (#255) ([f191fb8](https://github.com/peaceiris/actions-gh-pages/commit/f191fb81878aaa8657d346e9b3a97a4ad625939d)), closes [#255](https://github.com/peaceiris/actions-gh-pages/issues/255)
* bump prettier from 2.0.4 to 2.0.5 (#253) ([33b82d2](https://github.com/peaceiris/actions-gh-pages/commit/33b82d2be041389aa51ca38f09cf6e79a9129035)), closes [#253](https://github.com/peaceiris/actions-gh-pages/issues/253)
## [3.5.8](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.7...v3.5.8) (2020-04-29)
### chore
* Add issue priority [skip ci] ([eda4527](https://github.com/peaceiris/actions-gh-pages/commit/eda4527addb918b2101150ebb39fcf433918edaa))
* Add issue priority [skip ci] ([af61d81](https://github.com/peaceiris/actions-gh-pages/commit/af61d81606e4fc7e288136ff2d253e2bc55c4f48))
* enhance about [skip ci] ([1139364](https://github.com/peaceiris/actions-gh-pages/commit/1139364d4c33266789f7b3325cf9a44a8547dfd2))
* update [skip ci] ([86114bb](https://github.com/peaceiris/actions-gh-pages/commit/86114bb2c7af49107a982228b5bdb03680d01f4d))
### ci
* Add hook for doctoc (#244) ([e3404eb](https://github.com/peaceiris/actions-gh-pages/commit/e3404eb04b31f2987120c926fea07b0213caebd8)), closes [#244](https://github.com/peaceiris/actions-gh-pages/issues/244)
### deps
* bump @types/node from 12.12.35 to 12.12.36 (#238) ([b7c9581](https://github.com/peaceiris/actions-gh-pages/commit/b7c9581509f430da7d5fd97e37245a2d0a66b564)), closes [#238](https://github.com/peaceiris/actions-gh-pages/issues/238)
* bump @types/node from 12.12.36 to 12.12.37 (#251) ([7b01d76](https://github.com/peaceiris/actions-gh-pages/commit/7b01d765e76fa62e2452fd444f2b4c27a2a93821)), closes [#251](https://github.com/peaceiris/actions-gh-pages/issues/251)
* bump @typescript-eslint/eslint-plugin from 2.28.0 to 2.30.0 (#252) ([f97b3d2](https://github.com/peaceiris/actions-gh-pages/commit/f97b3d256ec802bf086d5c96dcb299a63b38f705)), closes [#252](https://github.com/peaceiris/actions-gh-pages/issues/252)
* bump @typescript-eslint/parser from 2.28.0 to 2.30.0 (#249) ([28e7732](https://github.com/peaceiris/actions-gh-pages/commit/28e7732e93caf2520c542d47eb7482a09d92399d)), closes [#249](https://github.com/peaceiris/actions-gh-pages/issues/249)
* bump git from 2.26.1 to 2.26.2 (#246) ([db7681d](https://github.com/peaceiris/actions-gh-pages/commit/db7681db4d6bba0e054efa7da8d6494f40aa74dd)), closes [#246](https://github.com/peaceiris/actions-gh-pages/issues/246)
* bump jest from 25.3.0 to 25.5.0 (#248) ([390b063](https://github.com/peaceiris/actions-gh-pages/commit/390b063535b4dc9533b19e2bdc0a5c756725bcd3)), closes [#248](https://github.com/peaceiris/actions-gh-pages/issues/248)
* bump jest-circus from 25.3.0 to 25.5.0 (#247) ([50bcf7b](https://github.com/peaceiris/actions-gh-pages/commit/50bcf7b81dbedbab7f9d8c9cebc15c1d63724e52)), closes [#247](https://github.com/peaceiris/actions-gh-pages/issues/247)
* bump lint-staged from 10.1.3 to 10.1.4 (#237) ([fd97637](https://github.com/peaceiris/actions-gh-pages/commit/fd976371344295a7f93bf199bc5557ef179ccb8c)), closes [#237](https://github.com/peaceiris/actions-gh-pages/issues/237)
* bump lint-staged from 10.1.4 to 10.1.5 (#240) ([cfc119f](https://github.com/peaceiris/actions-gh-pages/commit/cfc119fff765ff9d58364aaacc6f3eeda2cfa803)), closes [#240](https://github.com/peaceiris/actions-gh-pages/issues/240)
* bump lint-staged from 10.1.5 to 10.1.6 (#241) ([c1bc06c](https://github.com/peaceiris/actions-gh-pages/commit/c1bc06c3e6c64d6663aaaddce19c3092f44fee76)), closes [#241](https://github.com/peaceiris/actions-gh-pages/issues/241)
* bump lint-staged from 10.1.6 to 10.2.0 (#250) ([4976317](https://github.com/peaceiris/actions-gh-pages/commit/4976317340cc18cda0238fb97829a0faaa845961)), closes [#250](https://github.com/peaceiris/actions-gh-pages/issues/250)
* bump ts-jest from 25.3.1 to 25.4.0 (#236) ([f69bcb9](https://github.com/peaceiris/actions-gh-pages/commit/f69bcb9ae88328fdbf841072c8d6273cd64775d0)), closes [#236](https://github.com/peaceiris/actions-gh-pages/issues/236)
### docs
* Add publish_branch and publish_dir (#239) ([4b0ac94](https://github.com/peaceiris/actions-gh-pages/commit/4b0ac9453b6b8c117d2d477feec9438cbadde554)), closes [#239](https://github.com/peaceiris/actions-gh-pages/issues/239)
* Enhance cache key (#235) ([f1ebad9](https://github.com/peaceiris/actions-gh-pages/commit/f1ebad9abbd9a38f40b3bf1731c8f24d11933c7f)), closes [#235](https://github.com/peaceiris/actions-gh-pages/issues/235)
* Enhance Docusaurus example workflow (#234) ([63cdebd](https://github.com/peaceiris/actions-gh-pages/commit/63cdebd96bf13f045ac949edf7242044ecfef525)), closes [#234](https://github.com/peaceiris/actions-gh-pages/issues/234)
* Enhance the Tips and FAQ section ([1511f85](https://github.com/peaceiris/actions-gh-pages/commit/1511f85febf4d985083555b7e644fc43582ec4ee))
* update ([8632fea](https://github.com/peaceiris/actions-gh-pages/commit/8632feabc7064b8023ffa7da92bf6d91cf83a0fe))
* update ([7d421d3](https://github.com/peaceiris/actions-gh-pages/commit/7d421d3e4c784eaebafdf020ccf4ce29ac14569a))
* update ([95d87cf](https://github.com/peaceiris/actions-gh-pages/commit/95d87cfaa53b3d799c1c931048a43a92ddb87d15))
## [3.5.7](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.6...v3.5.7) (2020-04-15)
### chore
* Add minify option to ncc ([7c46059](https://github.com/peaceiris/actions-gh-pages/commit/7c4605913c8e25e5bcb647c41df24622df973dea))
* bump node and npm (#232) ([8dd38be](https://github.com/peaceiris/actions-gh-pages/commit/8dd38bec4d0fe06da1c552846e91f1c9482eaa81)), closes [#232](https://github.com/peaceiris/actions-gh-pages/issues/232)
* Print context for debug (#160) ([3f58382](https://github.com/peaceiris/actions-gh-pages/commit/3f58382eeacaa13844a32b1499dd97073c0c134e)), closes [#160](https://github.com/peaceiris/actions-gh-pages/issues/160)
### ci
* Add automerged_updates ([6d889ad](https://github.com/peaceiris/actions-gh-pages/commit/6d889ad7e96ddde23d10af55c91bc853e7ae6875))
* Add cname ([3789ef4](https://github.com/peaceiris/actions-gh-pages/commit/3789ef4a0afefde589ddc2627f1e15c9b781bf8e))
* Add dev-image workflow (#177) ([465b328](https://github.com/peaceiris/actions-gh-pages/commit/465b328f7559c99f1baf1b953e51031e9e95cb3c)), closes [#177](https://github.com/peaceiris/actions-gh-pages/issues/177)
* Add GitHub context dump step [skip ci] ([6cf4da4](https://github.com/peaceiris/actions-gh-pages/commit/6cf4da4de2c6a448403c94c765853e21ec9c59d9))
* bump mdbook from 0.3.5 to 0.3.6 ([0a1633a](https://github.com/peaceiris/actions-gh-pages/commit/0a1633ac3140c8be2e2eded5961aa2a17831328e))
* comment out pull_request event ([cf8d655](https://github.com/peaceiris/actions-gh-pages/commit/cf8d65531019ee6fb9bae2ce615c7c7735073cac))
* delete stale workflow ([98e0f60](https://github.com/peaceiris/actions-gh-pages/commit/98e0f6025c650cd5e0bafe454a78754e170fd08d))
* Merge test workflows (#204) ([ed5a99d](https://github.com/peaceiris/actions-gh-pages/commit/ed5a99d6377a295a05189f1dac5bc9e32739fced)), closes [#204](https://github.com/peaceiris/actions-gh-pages/issues/204)
* set update_schedule live ([2a787f0](https://github.com/peaceiris/actions-gh-pages/commit/2a787f018275ed6400c555b0144e8f15b9c3db4f))
### deps
* bump @types/jest from 25.1.4 to 25.1.5 (#208) ([78d67e4](https://github.com/peaceiris/actions-gh-pages/commit/78d67e4cbe7435ac1848ba5f4e5be1598dd0f843)), closes [#208](https://github.com/peaceiris/actions-gh-pages/issues/208)
* bump @types/jest from 25.1.5 to 25.2.1 (#213) ([37ce049](https://github.com/peaceiris/actions-gh-pages/commit/37ce049d087d29dae2d276e0df6665258c979d66)), closes [#213](https://github.com/peaceiris/actions-gh-pages/issues/213)
* bump @types/js-yaml from 3.12.2 to 3.12.3 (#175) ([36c6bd4](https://github.com/peaceiris/actions-gh-pages/commit/36c6bd42bd9f29c9b6b8e157bd9e41da701fb77e)), closes [#175](https://github.com/peaceiris/actions-gh-pages/issues/175)
* bump @types/node from 12.12.30 to 12.12.31 (#176) ([618acc1](https://github.com/peaceiris/actions-gh-pages/commit/618acc18f38ea8866cb92509e5a1fb33e5b475cb)), closes [#176](https://github.com/peaceiris/actions-gh-pages/issues/176)
* bump @types/node from 12.12.31 to 12.12.32 (#187) ([e31acce](https://github.com/peaceiris/actions-gh-pages/commit/e31acce9d332395ce09ec79567979ad6afc2083a)), closes [#187](https://github.com/peaceiris/actions-gh-pages/issues/187)
* bump @types/node from 12.12.32 to 12.12.34 (#203) ([45a2a58](https://github.com/peaceiris/actions-gh-pages/commit/45a2a58fb026bdd007fc960472e4c64cac3d1742)), closes [#203](https://github.com/peaceiris/actions-gh-pages/issues/203)
* bump @types/node from 12.12.34 to 12.12.35 (#222) ([8af9b8c](https://github.com/peaceiris/actions-gh-pages/commit/8af9b8c0d5a79ac59deca7c805b3dbb2f27b6637)), closes [#222](https://github.com/peaceiris/actions-gh-pages/issues/222)
* bump @typescript-eslint/eslint-plugin from 2.23.0 to 2.24.0 (#162) ([62dcd84](https://github.com/peaceiris/actions-gh-pages/commit/62dcd84517adc033e68d52d0a32e2d5edaa1a3c3)), closes [#162](https://github.com/peaceiris/actions-gh-pages/issues/162)
* bump @typescript-eslint/eslint-plugin from 2.24.0 to 2.25.0 (#171) ([ecd8e7b](https://github.com/peaceiris/actions-gh-pages/commit/ecd8e7bc48e57d3ea82184116fa1710c425d57a6)), closes [#171](https://github.com/peaceiris/actions-gh-pages/issues/171)
* bump @typescript-eslint/eslint-plugin from 2.25.0 to 2.26.0 (#201) ([ca2c254](https://github.com/peaceiris/actions-gh-pages/commit/ca2c2541577d3e41f6c7c2265430a219b974c314)), closes [#201](https://github.com/peaceiris/actions-gh-pages/issues/201)
* bump @typescript-eslint/eslint-plugin from 2.26.0 to 2.27.0 (#219) ([046c703](https://github.com/peaceiris/actions-gh-pages/commit/046c703d6daeac7f9c32fbd0adf9f1412b025361)), closes [#219](https://github.com/peaceiris/actions-gh-pages/issues/219)
* bump @typescript-eslint/eslint-plugin from 2.27.0 to 2.28.0 (#231) ([ddf2c5b](https://github.com/peaceiris/actions-gh-pages/commit/ddf2c5b9f16b38116d8f194ed9804fe079d950ca)), closes [#231](https://github.com/peaceiris/actions-gh-pages/issues/231)
* bump @typescript-eslint/parser from 2.23.0 to 2.24.0 (#161) ([7c5e9be](https://github.com/peaceiris/actions-gh-pages/commit/7c5e9bef11bc4c1a57fd1f7794c93518f320293d)), closes [#161](https://github.com/peaceiris/actions-gh-pages/issues/161)
* bump @typescript-eslint/parser from 2.24.0 to 2.25.0 (#170) ([04cd6de](https://github.com/peaceiris/actions-gh-pages/commit/04cd6de8fd7f30f0c3c725e3981a6f8e549f19fa)), closes [#170](https://github.com/peaceiris/actions-gh-pages/issues/170)
* bump @typescript-eslint/parser from 2.25.0 to 2.26.0 (#200) ([042b824](https://github.com/peaceiris/actions-gh-pages/commit/042b824d8bb5cde606db907ffc0edd525b9557f1)), closes [#200](https://github.com/peaceiris/actions-gh-pages/issues/200)
* bump @typescript-eslint/parser from 2.26.0 to 2.27.0 (#218) ([da14e08](https://github.com/peaceiris/actions-gh-pages/commit/da14e086461d30a80a0c62fb0ee531635c021a92)), closes [#218](https://github.com/peaceiris/actions-gh-pages/issues/218)
* bump @typescript-eslint/parser from 2.27.0 to 2.28.0 (#230) ([d8356e3](https://github.com/peaceiris/actions-gh-pages/commit/d8356e3cf1b99104b423cfeb405751ce358b46f1)), closes [#230](https://github.com/peaceiris/actions-gh-pages/issues/230)
* bump @zeit/ncc from 0.21.1 to 0.22.0 (#172) ([1a3f0fd](https://github.com/peaceiris/actions-gh-pages/commit/1a3f0fd0f6ec1a0544e7489db322e559823f3538)), closes [#172](https://github.com/peaceiris/actions-gh-pages/issues/172)
* bump @zeit/ncc from 0.22.0 to 0.22.1 (#215) ([711b0ed](https://github.com/peaceiris/actions-gh-pages/commit/711b0ed1cd911cef0808ec5fe090f240fb3e804e)), closes [#215](https://github.com/peaceiris/actions-gh-pages/issues/215)
* bump git from 2.25.1 to 2.26.0 (#182) ([3183d34](https://github.com/peaceiris/actions-gh-pages/commit/3183d3481b7ef83750e6365ea9f28258df85c5f7)), closes [#182](https://github.com/peaceiris/actions-gh-pages/issues/182)
* bump git from 2.26.0 to 2.26.1 (#233) ([df5698c](https://github.com/peaceiris/actions-gh-pages/commit/df5698c4aaaf8edee82ce0d2799caddde3d2f6bc)), closes [#233](https://github.com/peaceiris/actions-gh-pages/issues/233)
* bump husky from 4.2.3 to 4.2.4 (#225) ([abd7ea5](https://github.com/peaceiris/actions-gh-pages/commit/abd7ea550b2efa7ba4353ed178a5cceab5741b4e)), closes [#225](https://github.com/peaceiris/actions-gh-pages/issues/225)
* bump husky from 4.2.4 to 4.2.5 (#226) ([bf8dc2c](https://github.com/peaceiris/actions-gh-pages/commit/bf8dc2ce19690fde3f8f875f0b56726a8467f043)), closes [#226](https://github.com/peaceiris/actions-gh-pages/issues/226)
* bump jest from 25.1.0 to 25.2.0 (#179) ([75680da](https://github.com/peaceiris/actions-gh-pages/commit/75680dae34ad8b6811ee6482a809d0be3f24c743)), closes [#179](https://github.com/peaceiris/actions-gh-pages/issues/179)
* bump jest from 25.2.0 to 25.2.1 (#180) ([9f0d4d4](https://github.com/peaceiris/actions-gh-pages/commit/9f0d4d44b9782b3baa0c97b515061b16a78a4ccd)), closes [#180](https://github.com/peaceiris/actions-gh-pages/issues/180)
* bump jest from 25.2.1 to 25.2.2 (#184) ([85823c6](https://github.com/peaceiris/actions-gh-pages/commit/85823c67e1a6ee02bca13ad66bdedcaf932f7fb8)), closes [#184](https://github.com/peaceiris/actions-gh-pages/issues/184)
* bump jest from 25.2.2 to 25.2.3 (#186) ([25deb78](https://github.com/peaceiris/actions-gh-pages/commit/25deb782d00a799f89ae56a01471de34eb584507)), closes [#186](https://github.com/peaceiris/actions-gh-pages/issues/186)
* bump jest from 25.2.3 to 25.2.4 (#197) ([339315a](https://github.com/peaceiris/actions-gh-pages/commit/339315a4b0911f7ba5f46b48517303a51ab3c9de)), closes [#197](https://github.com/peaceiris/actions-gh-pages/issues/197)
* bump jest from 25.2.4 to 25.2.6 (#207) ([af6a597](https://github.com/peaceiris/actions-gh-pages/commit/af6a5970d8665fe405d2d41739a205fb02c3c82b)), closes [#207](https://github.com/peaceiris/actions-gh-pages/issues/207)
* bump jest from 25.2.6 to 25.2.7 (#210) ([7f9aba2](https://github.com/peaceiris/actions-gh-pages/commit/7f9aba2ea85c816a7bc7d764386db0d22fb27664)), closes [#210](https://github.com/peaceiris/actions-gh-pages/issues/210)
* bump jest from 25.2.7 to 25.3.0 (#221) ([a07d711](https://github.com/peaceiris/actions-gh-pages/commit/a07d7115c5ba0974e1cc521c12f921344a5cb740)), closes [#221](https://github.com/peaceiris/actions-gh-pages/issues/221)
* bump jest-circus from 25.1.0 to 25.2.0 (#178) ([669db9c](https://github.com/peaceiris/actions-gh-pages/commit/669db9c5d1ea78f2fe5e844401803de4ebd79516)), closes [#178](https://github.com/peaceiris/actions-gh-pages/issues/178)
* bump jest-circus from 25.2.0 to 25.2.1 (#181) ([2be10a7](https://github.com/peaceiris/actions-gh-pages/commit/2be10a799985a223581c2368b866882d2a13515c)), closes [#181](https://github.com/peaceiris/actions-gh-pages/issues/181)
* bump jest-circus from 25.2.1 to 25.2.2 (#183) ([1b90454](https://github.com/peaceiris/actions-gh-pages/commit/1b904544aa6f23628ab65efd7399f9b22406bddf)), closes [#183](https://github.com/peaceiris/actions-gh-pages/issues/183)
* bump jest-circus from 25.2.2 to 25.2.3 (#185) ([0e2b180](https://github.com/peaceiris/actions-gh-pages/commit/0e2b180da6b0035c64940c6fcbcdfd16fc02ab1f)), closes [#185](https://github.com/peaceiris/actions-gh-pages/issues/185)
* bump jest-circus from 25.2.3 to 25.2.4 (#196) ([f5eb08f](https://github.com/peaceiris/actions-gh-pages/commit/f5eb08fafcb4f22c6636badd1d35676cfec90f57)), closes [#196](https://github.com/peaceiris/actions-gh-pages/issues/196)
* bump jest-circus from 25.2.4 to 25.2.6 (#206) ([7c0ae72](https://github.com/peaceiris/actions-gh-pages/commit/7c0ae727e6ff477fc420bd0fc74f6c706b433508)), closes [#206](https://github.com/peaceiris/actions-gh-pages/issues/206)
* bump jest-circus from 25.2.6 to 25.2.7 (#209) ([c742786](https://github.com/peaceiris/actions-gh-pages/commit/c742786fc9fe33aa256482960f82f3e9e3e7e591)), closes [#209](https://github.com/peaceiris/actions-gh-pages/issues/209)
* bump jest-circus from 25.2.7 to 25.3.0 (#220) ([20e19cf](https://github.com/peaceiris/actions-gh-pages/commit/20e19cf1eb238cb2bdeb1ce8c4a586586433b1ab)), closes [#220](https://github.com/peaceiris/actions-gh-pages/issues/220)
* bump lint-staged from 10.0.10 to 10.1.0 (#199) ([3ed76c9](https://github.com/peaceiris/actions-gh-pages/commit/3ed76c92c68fe6ce8abdec7c18ce08cd4fc73f5d)), closes [#199](https://github.com/peaceiris/actions-gh-pages/issues/199)
* bump lint-staged from 10.0.8 to 10.0.9 (#174) ([bb022f3](https://github.com/peaceiris/actions-gh-pages/commit/bb022f3294a46c3cb76aabad2a3c6256f4d94f4a)), closes [#174](https://github.com/peaceiris/actions-gh-pages/issues/174)
* bump lint-staged from 10.0.9 to 10.0.10 (#195) ([9dddc33](https://github.com/peaceiris/actions-gh-pages/commit/9dddc3350fb83f9b17f09d2ae0df8cfe821d3091)), closes [#195](https://github.com/peaceiris/actions-gh-pages/issues/195)
* bump lint-staged from 10.1.0 to 10.1.1 (#205) ([42a3ae6](https://github.com/peaceiris/actions-gh-pages/commit/42a3ae6a382b047d97c25c18d069c9403b957d2f)), closes [#205](https://github.com/peaceiris/actions-gh-pages/issues/205)
* bump lint-staged from 10.1.1 to 10.1.2 (#214) ([e5063fa](https://github.com/peaceiris/actions-gh-pages/commit/e5063fa6dd73e5a0d63f79a29ce874029949af00)), closes [#214](https://github.com/peaceiris/actions-gh-pages/issues/214)
* bump lint-staged from 10.1.2 to 10.1.3 (#224) ([ab7b255](https://github.com/peaceiris/actions-gh-pages/commit/ab7b25543231b886faf8f1cf63fd5085eeedf796)), closes [#224](https://github.com/peaceiris/actions-gh-pages/issues/224)
* bump node 12.16.1 to 12.16.2 (#223) ([6fcf128](https://github.com/peaceiris/actions-gh-pages/commit/6fcf128c187d621040cda918d737c816339b2268)), closes [#223](https://github.com/peaceiris/actions-gh-pages/issues/223)
* bump prettier from 1.19.1 to 2.0.1 (#167) ([148a657](https://github.com/peaceiris/actions-gh-pages/commit/148a6573c6b840a7235933a411b6807f0914adc0)), closes [#167](https://github.com/peaceiris/actions-gh-pages/issues/167)
* bump prettier from 2.0.1 to 2.0.2 (#173) ([4933c8e](https://github.com/peaceiris/actions-gh-pages/commit/4933c8ef88a7aba30905620f3b3cd2b2c516dd19)), closes [#173](https://github.com/peaceiris/actions-gh-pages/issues/173)
* bump prettier from 2.0.2 to 2.0.4 (#217) ([ab37125](https://github.com/peaceiris/actions-gh-pages/commit/ab371259dd262501f100a0b6fdbe4231200e8938)), closes [#217](https://github.com/peaceiris/actions-gh-pages/issues/217)
* bump ts-jest from 25.2.1 to 25.3.0 (#198) ([e26a05e](https://github.com/peaceiris/actions-gh-pages/commit/e26a05e4739a55410254da8777766f46eab5826a)), closes [#198](https://github.com/peaceiris/actions-gh-pages/issues/198)
* bump ts-jest from 25.3.0 to 25.3.1 (#211) ([d48d5de](https://github.com/peaceiris/actions-gh-pages/commit/d48d5de82e47f8e4fd718b2ec979301a99cb7202)), closes [#211](https://github.com/peaceiris/actions-gh-pages/issues/211)
* npm audit fix ([58be994](https://github.com/peaceiris/actions-gh-pages/commit/58be9948094654ed7853e644e1fe29310c1325f2))
### docs
* Add branches ([596c2d5](https://github.com/peaceiris/actions-gh-pages/commit/596c2d55482b737210a851c25ba572f61685c85e))
* Add fetch-depth 0 ([32a0227](https://github.com/peaceiris/actions-gh-pages/commit/32a0227f7c6301faaa80bd5680eb93e5e049996f))
* Add github_token section ([d59e15b](https://github.com/peaceiris/actions-gh-pages/commit/d59e15bbd09dea2d67fca9947f5526fe0e718b63))
* Add github/personal-website ([e2a54ec](https://github.com/peaceiris/actions-gh-pages/commit/e2a54ec0b920afe6f8108d1b0237cd7963faafc2))
* Add link to example ([c50f9fd](https://github.com/peaceiris/actions-gh-pages/commit/c50f9fd17d0d1d6d24b4c45c4e6e09ea9187536f))
* Add link to interview (#194) ([c276f65](https://github.com/peaceiris/actions-gh-pages/commit/c276f65cf9ffa972e8f2cd4c358120bebb357c3f)), closes [#194](https://github.com/peaceiris/actions-gh-pages/issues/194)
* Add path to workflow file ([1ee7d6e](https://github.com/peaceiris/actions-gh-pages/commit/1ee7d6e98a5634528769f1e28d7982706cf0356c))
* Add Swift Publish example (#228) ([9f90987](https://github.com/peaceiris/actions-gh-pages/commit/9f90987bad7ac98d4f0c2dbad6b95ca3d2471102)), closes [#228](https://github.com/peaceiris/actions-gh-pages/issues/228) [#227](https://github.com/peaceiris/actions-gh-pages/issues/227)
* bump actions/checkout to v2 in Hugo example ([0294e8c](https://github.com/peaceiris/actions-gh-pages/commit/0294e8c526ec496925ffbef19885cc57d2ab0383))
* bump hugo and mdbook ([b6bc504](https://github.com/peaceiris/actions-gh-pages/commit/b6bc5040aafba38af3782d27801d58f2a06ddd6f))
* bump mdbook from 0.3.5 to 0.3.6 ([164addf](https://github.com/peaceiris/actions-gh-pages/commit/164addf07d7d653dd193300a4828d00437c56b65))
* bump node from 10 to 12 (#192) ([9597ab9](https://github.com/peaceiris/actions-gh-pages/commit/9597ab97de490652c80824ee63060736af58c369)), closes [#192](https://github.com/peaceiris/actions-gh-pages/issues/192)
* fix typo ([3e53047](https://github.com/peaceiris/actions-gh-pages/commit/3e53047dc0f67282685d350dd6a0e3342c70d20f))
* Improve Docusaurus example (#191) ([0144209](https://github.com/peaceiris/actions-gh-pages/commit/014420965cfc3721de582be7a7c01ec36b5b1d21)), closes [#191](https://github.com/peaceiris/actions-gh-pages/issues/191)
* Improve Elm example (#190) ([8739981](https://github.com/peaceiris/actions-gh-pages/commit/87399813a5eb5ec3a73d11719066dceff2620582)), closes [#190](https://github.com/peaceiris/actions-gh-pages/issues/190)
* Improve Flutter example (#189) ([2ea85f7](https://github.com/peaceiris/actions-gh-pages/commit/2ea85f732266fec9726a6b32856b338dfe36f056)), closes [#189](https://github.com/peaceiris/actions-gh-pages/issues/189)
* Improve section name of enable_jekyll (#193) ([fbff0cd](https://github.com/peaceiris/actions-gh-pages/commit/fbff0cd1e0680c9ff1a9ffd34306fb2199308eac)), closes [#193](https://github.com/peaceiris/actions-gh-pages/issues/193)
* update ([9614091](https://github.com/peaceiris/actions-gh-pages/commit/9614091a5e44b16c3add28e53671146a91dbfbe4))
* Update Docusaurus workflow example (#229) ([fb15409](https://github.com/peaceiris/actions-gh-pages/commit/fb15409be9a17556fc8c4b2335735466e8b8347b)), closes [#229](https://github.com/peaceiris/actions-gh-pages/issues/229)
* update test badge ([a93c85c](https://github.com/peaceiris/actions-gh-pages/commit/a93c85ca96782d06b7c1f68e0d1bd7d337cf40cb))
### feat
* Set outputs.skip when action skipped ([8019d94](https://github.com/peaceiris/actions-gh-pages/commit/8019d941f376d6f650735a88216bf5baebb7f397)), closes [#165](https://github.com/peaceiris/actions-gh-pages/issues/165)
## [3.5.6](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.5...v3.5.6) (2020-03-16)
### fix
* skip on fork (#159) ([6fa13fe](https://github.com/peaceiris/actions-gh-pages/commit/6fa13fefb393227eec5c9710d92e8bffa917546a)), closes [#159](https://github.com/peaceiris/actions-gh-pages/issues/159)
## [3.5.5](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4...v3.5.5) (2020-03-16)
### chore
* Add new task all ([01fdaf2](https://github.com/peaceiris/actions-gh-pages/commit/01fdaf2f0274401d2403c809b20c37fb7a8535a6))
### fix
* skip on fork if pull_request (#158) ([d6bd618](https://github.com/peaceiris/actions-gh-pages/commit/d6bd6182f264ce695613180743d42e377570bbf4)), closes [#158](https://github.com/peaceiris/actions-gh-pages/issues/158) [#157](https://github.com/peaceiris/actions-gh-pages/issues/157)
## [3.5.4](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.3...v3.5.4) (2020-03-16)
### fix
* skip deployment on forks (#156) ([4f06df8](https://github.com/peaceiris/actions-gh-pages/commit/4f06df820b7a5882e2faef0e6929bb670140fba0)), closes [#156](https://github.com/peaceiris/actions-gh-pages/issues/156) [#153](https://github.com/peaceiris/actions-gh-pages/issues/153)
## [3.5.4-6](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-5...v3.5.4-6) (2020-03-15)
### fix
* skip logic ([44bdada](https://github.com/peaceiris/actions-gh-pages/commit/44bdada02c71f646d23ffefe1ea07d16386dbf83))
## [3.5.4-5](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-4...v3.5.4-5) (2020-03-14)
### fix
* property access ([72f58a0](https://github.com/peaceiris/actions-gh-pages/commit/72f58a06cf5db88d3eb982f57de8dbc266e39232))
## [3.5.4-4](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-3...v3.5.4-4) (2020-03-14)
### test
* skipOnFork() ([6f9a5b7](https://github.com/peaceiris/actions-gh-pages/commit/6f9a5b7a66bbf855cadc34099fa6450c40eff4a2))
## [3.5.4-3](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-2...v3.5.4-3) (2020-03-14)
### fix
* skip logic ([01976c9](https://github.com/peaceiris/actions-gh-pages/commit/01976c9d9b95b42997caa2a85c2d737eb75e852e))
## [3.5.4-2](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-1...v3.5.4-2) (2020-03-14)
### fix
* skip logic ([c97a39a](https://github.com/peaceiris/actions-gh-pages/commit/c97a39a35f681badbf7490c2786eddf06b17316d))
## [3.5.4-1](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.4-0...v3.5.4-1) (2020-03-14)
### fix
* isForkRepository ([6546aa9](https://github.com/peaceiris/actions-gh-pages/commit/6546aa96085e89bd91adc56f58be665766e93a1e))
## [3.5.4-0](https://github.com/peaceiris/actions-gh-pages/compare/v3.5.3...v3.5.4-0) (2020-03-14)

View File

@@ -16,7 +16,7 @@ RUN apt-get update && \
npm i -g npm
WORKDIR /git
ENV GIT_VERSION="2.27.0"
ENV GIT_VERSION="2.25.1"
RUN wget -q "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" && \
tar -zxf "./v${GIT_VERSION}.tar.gz" && \
rm "./v${GIT_VERSION}.tar.gz" && \

View File

@@ -1,34 +1,19 @@
cmd := "bash"
msg := ""
IMAGE_NAME := docker.pkg.github.com/peaceiris/actions-gh-pages/dev:latest
IMAGE_NAME := actions_github_pages_dev:latest
NODE_VERSION := $(shell cat ./.nvmrc)
DOCKER_BUILD := docker build . -t $(IMAGE_NAME) --build-arg NODE_VERSION=$(NODE_VERSION)
DOCKER_RUN := docker run --rm -i -t -v ${PWD}:/repo -v ~/.gitconfig:/root/.gitconfig $(IMAGE_NAME)
DOCKER_RUN_CI := docker run --rm -v ${PWD}:/repo $(IMAGE_NAME)
.PHONY: build
build:
docker build . \
--build-arg NODE_VERSION=$(NODE_VERSION) \
--cache-from=${IMAGE_NAME} \
-t $(IMAGE_NAME)
.PHONY: pull
pull:
docker pull ${IMAGE_NAME}
.PHONY: push
push:
docker push ${IMAGE_NAME}
$(DOCKER_BUILD)
.PHONY: run
run:
$(DOCKER_RUN) $(cmd)
.PHONY: cirun
cirun:
$(DOCKER_RUN_CI) $(cmd)
.PHONY: test
test:
$(DOCKER_RUN) npm test
@@ -36,11 +21,3 @@ test:
.PHONY: commit
commit:
$(DOCKER_RUN) git commit -m "$(msg)"
.PHONY: all
all:
$(DOCKER_RUN) npm run all
.PHONY: ciall
ciall:
$(DOCKER_RUN_CI) npm run all

364
README.md
View File

@@ -1,17 +1,23 @@
[![license](https://img.shields.io/github/license/peaceiris/actions-gh-pages.svg)](https://github.com/peaceiris/actions-gh-pages/blob/main/LICENSE)
[![license](https://img.shields.io/github/license/peaceiris/actions-gh-pages.svg)](https://github.com/peaceiris/actions-gh-pages/blob/master/LICENSE)
[![release](https://img.shields.io/github/release/peaceiris/actions-gh-pages.svg)](https://github.com/peaceiris/actions-gh-pages/releases/latest)
[![GitHub release date](https://img.shields.io/github/release-date/peaceiris/actions-gh-pages.svg)](https://github.com/peaceiris/actions-gh-pages/releases)
![Test](https://github.com/peaceiris/actions-gh-pages/workflows/Test/badge.svg?branch=main&event=push)
![Test Action](https://github.com/peaceiris/actions-gh-pages/workflows/Test%20Action/badge.svg?branch=master&event=push)
[![CodeFactor](https://www.codefactor.io/repository/github/peaceiris/actions-gh-pages/badge)](https://www.codefactor.io/repository/github/peaceiris/actions-gh-pages)
[![Release Feed](https://img.shields.io/badge/release-feed-yellow)](https://github.com/peaceiris/actions-gh-pages/releases.atom)
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=peaceiris/actions-gh-pages)](https://dependabot.com)
<img width="400" alt="GitHub Actions for deploying to GitHub Pages with Static Site Generators" src="./images/ogp.svg">
> This Action has been migrated to a TypeScript Action (version 3).
>
> The old Docker Action is [peaceiris/actions-gh-pages@v2](https://github.com/peaceiris/actions-gh-pages/tree/v2)
## GitHub Actions for GitHub Pages
This is a **GitHub Action** to deploy your static files to **GitHub Pages**.
This deploy action can be combined simply and freely with [Static Site Generators]. (Hugo, MkDocs, Gatsby, mdBook, Next, Nuxt, and so on.)
This deploy action can be combined simply and freely with [Static Site Generators]. (Hugo, MkDocs, Gatsby, GitBook, mdBook, etc.)
[Static Site Generators]: https://www.staticgen.com/
@@ -36,22 +42,13 @@ Three tokens are supported.
| `deploy_key` | ✅️ | ✅️ | SSH | Necessary |
| `personal_token` | ✅️ | ✅️ | HTTPS | Necessary |
Notes: Actually, the `GITHUB_TOKEN` works for deploying to GitHub Pages but it has still some limitations.
For the first deployment, we need to select the `gh-pages` branch or `master` branch on the repository settings tab.
See [First Deployment with `GITHUB_TOKEN`](#%EF%B8%8F-first-deployment-with-github_token)
And you may need to push manually for the first deployment on a private repository.
See [Issue #349](https://github.com/peaceiris/actions-gh-pages/issues/349)
Notes: Actually, the `GitHub_TOKEN` works for deploying to GitHub Pages but it has still some limitations. For the first deployment, we need to select the `gh-pages` branch or `master` branch on the repository settings tab. See [First Deployment with `GITHUB_TOKEN`](#%EF%B8%8F-first-deployment-with-github_token)
### Supported Platforms
All Actions runners: Linux (Ubuntu), macOS, and Windows are supported.
| runs-on | `github_token` | `deploy_key` | `personal_token` |
|---|:---:|:---:|:---:|
| ubuntu-20.04 | ✅️ | ✅️ | ✅️ |
| ubuntu-18.04 | ✅️ | ✅️ | ✅️ |
| ubuntu-16.04 | ✅️ | ✅️ | ✅️ |
| macos-latest | ✅️ | ✅️ | ✅️ |
| windows-latest | ✅️ | (2) | ✅️ |
@@ -69,14 +66,10 @@ All Actions runners: Linux (Ubuntu), macOS, and Windows are supported.
- [⭐️ Repository type - Project](#%EF%B8%8F-repository-type---project)
- [⭐️ Repository type - User and Organization](#%EF%B8%8F-repository-type---user-and-organization)
- [Options](#options)
- [⭐️ `github_token`](#%EF%B8%8F-github_token)
- [⭐️ `deploy_key`](#%EF%B8%8F-deploy_key)
- [⭐️ `personal_token`](#%EF%B8%8F-personal_token)
- [⭐️ `publish_branch`](#%EF%B8%8F-publish_branch)
- [⭐️ `publish_dir`](#%EF%B8%8F-publish_dir)
- [⭐️ `destination_dir`](#%EF%B8%8F-destination_dir)
- [⭐️ CNAME](#%EF%B8%8F-cname)
- [⭐️ Enable Built-in Jekyll](#%EF%B8%8F-enable-built-in-jekyll)
- [⭐️ Enable Jekyll](#%EF%B8%8F-enable-jekyll)
- [⭐️ Allow empty commits](#%EF%B8%8F-allow-empty-commits)
- [⭐️ Keeping existing files](#%EF%B8%8F-keeping-existing-files)
- [⭐️ Deploy to external repository](#%EF%B8%8F-deploy-to-external-repository)
@@ -88,7 +81,6 @@ All Actions runners: Linux (Ubuntu), macOS, and Windows are supported.
- [⭐️ Create SSH Deploy Key](#%EF%B8%8F-create-ssh-deploy-key)
- [⭐️ First Deployment with `GITHUB_TOKEN`](#%EF%B8%8F-first-deployment-with-github_token)
- [⭐️ Use the latest and specific release](#%EF%B8%8F-use-the-latest-and-specific-release)
- [⭐️ Schedule and Manual Deployment](#%EF%B8%8F-schedule-and-manual-deployment)
- [Examples](#examples)
- [⭐️ Static Site Generators with Node.js](#%EF%B8%8F-static-site-generators-with-nodejs)
- [⭐️ Gatsby](#%EF%B8%8F-gatsby)
@@ -99,8 +91,6 @@ All Actions runners: Linux (Ubuntu), macOS, and Windows are supported.
- [⭐️ mdBook (Rust)](#%EF%B8%8F-mdbook-rust)
- [⭐️ Flutter Web](#%EF%B8%8F-flutter-web)
- [⭐️ Elm](#%EF%B8%8F-elm)
- [⭐️ github/personal-website](#%EF%B8%8F-githubpersonal-website)
- [⭐️ Swift Publish](#%EF%B8%8F-swift-publish)
- [License](#license)
- [Maintainer](#maintainer)
@@ -132,15 +122,14 @@ jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- uses: actions/checkout@v1
# with:
# submodules: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.71.1'
hugo-version: '0.64.0'
- name: Build
run: hugo --minify
@@ -201,22 +190,6 @@ jobs:
## Options
### ⭐️ `github_token`
**This option is for `GITHUB_TOKEN`, not a personal access token.**
GitHub Actions runner automatically creates a `GITHUB_TOKEN` secret to use in your workflow. You can use the `GITHUB_TOKEN` to authenticate in a workflow run.
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
```
For more details about `GITHUB_TOKEN`: [Authenticating with the GITHUB_TOKEN - GitHub Help](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)
### ⭐️ `deploy_key`
Read [Create SSH Deploy Key](#%EF%B8%8F-create-ssh-deploy-key), create your SSH deploy key, and set the `deploy_key` option like the following.
@@ -242,42 +215,6 @@ Read [Create SSH Deploy Key](#%EF%B8%8F-create-ssh-deploy-key), create your SSH
publish_dir: ./public
```
### ⭐️ `publish_branch`
A target branch to deploy to GitHub Pages. The default is `gh-pages`.
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: master # default: gh-pages
```
### ⭐️ `publish_dir`
A source directory to deploy to GitHub Pages. The default is `public`.
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./out # default: public
```
### ⭐️ `destination_dir`
A destination subdirectory on a publishing branch. The default is empty.
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3.7.0-0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
destination_dir: subdir
```
### ⭐️ CNAME
To add `CNAME` file, we can set the `cname` option.
@@ -293,11 +230,9 @@ For more details about `CNAME`, read the official documentation: [Managing a cus
cname: github.com
```
### ⭐️ Enable Built-in Jekyll
### ⭐️ Enable Jekyll
If you want GitHub Pages to process your site with the static site generator Jekyll, set `enable_jekyll` to true.
[github/personal-website](https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-githubpersonal-website) is one of the examples using GitHub Pages built-in Jekyll.
If you want GitHub Pages to process the site with the static site generator Jekyll, set `enable_jekyll` to true.
By default, this action signals to GitHub Pages that the site shall not be processed with Jekyll. This is done by adding an empty `.nojekyll` file when publishing to the master or gh-pages branch. When a `.nojekyll` file already exists, this action does nothing.
@@ -365,14 +300,7 @@ For example:
You can use `deploy_key` or `personal_token`.
When you use `deploy_key`, set your private key to the repository which includes this action and set your public key to your external repository.
**Note that `GITHUB_TOKEN` has no permission to access to external repositories. Please create a personal access token and set it to `personal_token` like `personal_token: ${{ secrets.PERSONAL_TOKEN }}`.**
Use case:
A GitHub Free Plan account cannot use the GitHub Pages in a private repository. To make your source contents private and deploy it with the GitHub Pages, you can deploy your site from a private repository to a public repository using this option.
- `peaceiris/homepage`: A private repository running this action with `external_repository: peaceiris/peaceiris.github.io`
- `peaceiris/peaceiris.github.io`: A public repository using GitHub Pages
Be careful, `GITHUB_TOKEN` has no permission to access to external repositories.
### ⭐️ Force orphan
@@ -407,7 +335,7 @@ A commit is always created with the same user.
### ⭐️ Set custom commit message
Set a custom commit message.
Set custom commit message.
When we create a commit with a message `docs: Update some post`, a deployment commit will be generated with a message `docs: Update some post ${GITHUB_SHA}`.
```yaml
@@ -419,20 +347,6 @@ When we create a commit with a message `docs: Update some post`, a deployment co
commit_message: ${{ github.event.head_commit.message }}
```
<img width="400px" alt="Set a custom commit message - GitHub Actions for GitHub Pages" src="./images/commit_message.jpg">
To set a full custom commit message without a triggered commit hash,
use the `full_commit_message` option instead of the `commit_message` option.
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
full_commit_message: ${{ github.event.head_commit.message }}
```
### ⭐️ Create Git tag
Here is an example workflow.
@@ -520,7 +434,7 @@ Next, Go to **Repository Settings**
### ⭐️ First Deployment with `GITHUB_TOKEN`
The `GITHUB_TOKEN` has limitations for the first deployment so we have to select the GitHub Pages branch on the repository settings tab. After that, do the second deployment like the following pictures.
The `GITHUB_TOKEN` has limitations for the first deployment so we have to select the GitHub Pages branch on the repository settings tab.
| First deployment failed | Go to the settings tab |
|---|---|
@@ -537,50 +451,6 @@ It is useful to watch this repository (release only) to check the [latest releas
[latest release]: https://github.com/peaceiris/actions-gh-pages/releases
For continuous updating, we can use the GitHub native Dependabot.
Here is an example configuration of the bot. The config file is located in `.github/dependabot.yml`.
```yaml
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
labels:
- "CI/CD"
commit-message:
prefix: ci
```
See the official documentation for more details about the Dependabot: [Keeping your dependencies updated automatically - GitHub Docs](https://docs.github.com/en/github/administering-a-repository/keeping-your-dependencies-updated-automatically)
### ⭐️ Schedule and Manual Deployment
For deploying regularly, we can set the `on.schedule` workflow trigger.
See [Scheduled events | Events that trigger workflows - GitHub Docs](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events)
For deploying manually, we can set the `on.workflow_dispatch` workflow trigger.
See [Manual events `workflow_dispatch` | Events that trigger workflows - GitHub Docs](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#manual-events)
```yaml
name: github pages
on:
push:
branches:
- master
schedule:
- cron: "22 22 * * *"
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
...
```
<div align="right">
<a href="#table-of-contents">Back to TOC ☝️</a>
</div>
@@ -591,9 +461,10 @@ jobs:
### ⭐️ Static Site Generators with Node.js
[hexo], [vuepress], [react-static], [gridsome], and so on.
[hexo], [gitbook], [vuepress], [react-static], [gridsome], etc.
[hexo]: https://github.com/hexojs/hexo
[gitbook]: https://github.com/GitbookIO/gitbook
[vuepress]: https://github.com/vuejs/vuepress
[react-static]: https://github.com/react-static/react-static
[gridsome]: https://github.com/gridsome/gridsome
@@ -615,12 +486,12 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '10.x'
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -659,12 +530,12 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '10.x'
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -707,23 +578,23 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '10.x'
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn install --frozen-lockfile
- run: yarn install
- run: yarn build
- run: yarn export
@@ -758,12 +629,12 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '10.x'
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -783,13 +654,14 @@ jobs:
### ⭐️ Docusaurus
An example workflow for [Docusaurus](https://docusaurus.io/).
An example for pages created using [Docusaurus](https://docusaurus.io/).
`npx @docusaurus/init@next init website classic` is useful to create a new Docusaurus project.
Examples where this is being used:
- [Mittens](https://github.com/ExpediaGroup/mittens)
- [graphql-kotlin](https://github.com/ExpediaGroup/graphql-kotlin)
```yaml
# .github/workflows/deploy.yml
name: github pages
on:
@@ -797,48 +669,45 @@ on:
branches:
- master
paths:
- '.github/workflows/deploy.yml'
- 'docs/**'
- 'website/**'
jobs:
deploy:
runs-on: ubuntu-18.04
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
node-version: 12
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-website-${{ hashFiles('**/yarn.lock') }}
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('website/package-lock.json') }}
restore-keys: |
${{ runner.os }}-website-
${{ runner.os }}-node-
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Build
run: |
cd website
npm ci
npm run build
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./website/build
# use the projectName from your siteConfig.js file: https://docusaurus.io/docs/en/site-config#projectname-string
publish_dir: ./website/build/<projectName>
```
### ⭐️ Static Site Generators with Python
[pelican], [MkDocs], [sphinx], and so on.
[pelican], [MkDocs], [sphinx], etc.
[pelican]: https://github.com/getpelican/pelican
[MkDocs]: https://github.com/mkdocs/mkdocs
@@ -861,29 +730,23 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v1
with:
python-version: '3.8'
- name: Upgrade pip
run: |
# install pip=>20.1 to use "pip cache dir"
python3 -m pip install --upgrade pip
- name: Get pip cache dir
id: pip-cache
run: echo "::set-output name=dir::$(pip cache dir)"
python-version: '3.6'
architecture: 'x64'
- name: Cache dependencies
uses: actions/cache@v2
uses: actions/cache@v1
with:
path: ${{ steps.pip-cache.outputs.dir }}
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: python3 -m pip install -r ./requirements.txt
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -r ./requirements.txt
- run: mkdocs build
@@ -919,7 +782,7 @@ jobs:
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: '0.3.7'
mdbook-version: '0.3.5'
# mdbook-version: 'latest'
- run: mdbook build
@@ -934,8 +797,14 @@ jobs:
### ⭐️ Flutter Web
An exapmle workflow for [Flutter web project].
Setup [Flutter] with [subosito/flutter-action].
[peanut | Dart Package] is also useful.
[Flutter]: https://github.com/flutter/flutter
[Flutter web project]: https://flutter.dev/docs/get-started/web
[subosito/flutter-action]: https://github.com/subosito/flutter-action
[peanut | Dart Package]: https://pub.dev/packages/peanut
```yaml
name: github pages
@@ -952,9 +821,9 @@ jobs:
- uses: actions/checkout@v2
- name: Setup Flutter
run: |
git clone https://github.com/flutter/flutter.git --depth 1 -b beta _flutter
echo "::add-path::${GITHUB_WORKSPACE}/_flutter/bin"
uses: subosito/flutter-action@v1
with:
channel: 'beta'
- name: Install
run: |
@@ -973,9 +842,10 @@ jobs:
### ⭐️ Elm
An exapmle workflow for [Elm].
An exapmle workflow for [Elm] with [justgook/setup-elm].
[Elm]: https://elm-lang.org
[justgook/setup-elm]: https://github.com/justgook/setup-elm
```yaml
name: github pages
@@ -991,13 +861,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2.1.0
with:
node-version: '12.x'
- name: Setup Elm
run: npm install elm --global
uses: justgook/setup-elm@v1
- name: Make
run: elm make --optimize src/Main.elm
@@ -1016,92 +881,17 @@ jobs:
publish_dir: ./public
```
### ⭐️ github/personal-website
- [github/personal-website](https://github.com/github/personal-website) - Code that'll help you kickstart a personal website that showcases your work as a software developer.
```yaml
# .github/workflows/github-pages.yml
name: GitHub Pages
on:
push:
branches:
- master
schedule:
- cron: '24 */24 * * *' # Once a day
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./
allow_empty_commit: true
enable_jekyll: true
cname: github.peaceiris.com
```
### ⭐️ Swift Publish
An example workflow for [JohnSundell/Publish].
[JohnSundell/Publish]: https://github.com/JohnSundell/Publish
```yaml
name: GitHub Pages
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Setup JohnSundell/Publish
run: |
cd ${HOME}
git clone --depth=1 https://github.com/JohnSundell/Publish.git
cd ./Publish
swift build -c release
echo "::add-path::${HOME}/Publish/.build/release"
- run: publish-cli generate
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./Output
```
<div align="right">
<a href="#table-of-contents">Back to TOC ☝️</a>
</div>
## License
- [MIT License - peaceiris/actions-gh-pages]
[MIT License - peaceiris/actions-gh-pages]: https://github.com/peaceiris/actions-gh-pages/blob/main/LICENSE
[MIT License - peaceiris/actions-gh-pages]: https://github.com/peaceiris/actions-gh-pages/blob/master/LICENSE
## Maintainer
- [peaceiris homepage](https://peaceiris.com/)
- [GitHub Action Hero: Shohei Ueda - The GitHub Blog](https://github.blog/2020-03-22-github-action-hero-shohei-ueda/)

View File

@@ -9,7 +9,9 @@ beforeEach(() => {
jest.resetModules();
process.stdout.write = jest.fn();
const doc = yaml.safeLoad(fs.readFileSync(__dirname + '/../action.yml', 'utf8'));
const doc = yaml.safeLoad(
fs.readFileSync(__dirname + '/../action.yml', 'utf8')
);
Object.keys(doc.inputs).forEach(name => {
const envVar = `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
process.env[envVar] = doc.inputs[name]['default'];
@@ -17,7 +19,9 @@ beforeEach(() => {
});
afterEach(() => {
const doc = yaml.safeLoad(fs.readFileSync(__dirname + '/../action.yml', 'utf8'));
const doc = yaml.safeLoad(
fs.readFileSync(__dirname + '/../action.yml', 'utf8')
);
Object.keys(doc.inputs).forEach(name => {
const envVar = `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
console.debug(`delete ${envVar}\t${process.env[envVar]}`);
@@ -40,7 +44,6 @@ function getInputsLog(authMethod: string, inps: Inputs): string {
[INFO] ${authMethod}: true
[INFO] PublishBranch: ${inps.PublishBranch}
[INFO] PublishDir: ${inps.PublishDir}
[INFO] DestinationDir: ${inps.DestinationDir}
[INFO] ExternalRepository: ${inps.ExternalRepository}
[INFO] AllowEmptyCommit: ${inps.AllowEmptyCommit}
[INFO] KeepFiles: ${inps.KeepFiles}
@@ -48,7 +51,6 @@ function getInputsLog(authMethod: string, inps: Inputs): string {
[INFO] UserName: ${inps.UserName}
[INFO] UserEmail: ${inps.UserEmail}
[INFO] CommitMessage: ${inps.CommitMessage}
[INFO] FullCommitMessage: ${inps.FullCommitMessage}
[INFO] TagName: ${inps.TagName}
[INFO] TagMessage: ${inps.TagMessage}
[INFO] EnableJekyll (DisableNoJekyll): ${inps.DisableNoJekyll}
@@ -108,7 +110,6 @@ describe('getInputs()', () => {
expect(inps.PersonalToken).toMatch('');
expect(inps.PublishBranch).toMatch('gh-pages');
expect(inps.PublishDir).toMatch('public');
expect(inps.DestinationDir).toMatch('');
expect(inps.ExternalRepository).toMatch('');
expect(inps.AllowEmptyCommit).toBe(false);
expect(inps.KeepFiles).toBe(false);
@@ -116,7 +117,6 @@ describe('getInputs()', () => {
expect(inps.UserName).toMatch('');
expect(inps.UserEmail).toMatch('');
expect(inps.CommitMessage).toMatch('');
expect(inps.FullCommitMessage).toMatch('');
expect(inps.TagName).toMatch('');
expect(inps.TagMessage).toMatch('');
expect(inps.DisableNoJekyll).toBe(false);
@@ -129,7 +129,6 @@ describe('getInputs()', () => {
process.env['INPUT_PERSONAL_TOKEN'] = 'test_personal_token';
process.env['INPUT_PUBLISH_BRANCH'] = 'master';
process.env['INPUT_PUBLISH_DIR'] = 'out';
process.env['INPUT_DESTINATION_DIR'] = 'subdir';
process.env['INPUT_EXTERNAL_REPOSITORY'] = 'user/repo';
process.env['INPUT_ALLOW_EMPTY_COMMIT'] = 'true';
process.env['INPUT_KEEP_FILES'] = 'true';
@@ -137,7 +136,6 @@ describe('getInputs()', () => {
process.env['INPUT_USER_NAME'] = 'username';
process.env['INPUT_USER_EMAIL'] = 'github@github.com';
process.env['INPUT_COMMIT_MESSAGE'] = 'feat: Add new feature';
process.env['INPUT_FULL_COMMIT_MESSAGE'] = 'feat: Add new feature';
process.env['INPUT_TAG_NAME'] = 'deploy-v1.2.3';
process.env['INPUT_TAG_MESSAGE'] = 'Deployment v1.2.3';
process.env['INPUT_DISABLE_NOJEKYLL'] = 'true';
@@ -150,7 +148,6 @@ describe('getInputs()', () => {
expect(inps.PersonalToken).toMatch('test_personal_token');
expect(inps.PublishBranch).toMatch('master');
expect(inps.PublishDir).toMatch('out');
expect(inps.DestinationDir).toMatch('subdir');
expect(inps.ExternalRepository).toMatch('user/repo');
expect(inps.AllowEmptyCommit).toBe(true);
expect(inps.KeepFiles).toBe(true);
@@ -158,19 +155,12 @@ describe('getInputs()', () => {
expect(inps.UserName).toMatch('username');
expect(inps.UserEmail).toMatch('github@github.com');
expect(inps.CommitMessage).toMatch('feat: Add new feature');
expect(inps.FullCommitMessage).toMatch('feat: Add new feature');
expect(inps.TagName).toMatch('deploy-v1.2.3');
expect(inps.TagMessage).toMatch('Deployment v1.2.3');
expect(inps.DisableNoJekyll).toBe(true);
expect(inps.CNAME).toMatch('github.com');
});
test('get spec inputs enable_jekyll', () => {
process.env['INPUT_ENABLE_JEKYLL'] = 'true';
const inps: Inputs = getInputs();
expect(inps.DisableNoJekyll).toBe(true);
});
test('throw error enable_jekyll or disable_nojekyll', () => {
process.env['INPUT_DEPLOY_KEY'] = 'test_deploy_key';
process.env['INPUT_ENABLE_JEKYLL'] = 'true';

View File

@@ -1,13 +1,5 @@
import {
setRepo,
getUserName,
getUserEmail,
setCommitAuthor,
getCommitMessage
} from '../src/git-utils';
import {getInputs} from '../src/get-inputs';
import {Inputs} from '../src/interfaces';
import {getWorkDirName, createDir} from '../src/utils';
import {getUserName, getUserEmail, setCommitAuthor} from '../src/git-utils';
import {getWorkDirName, createWorkDir} from '../src/utils';
import {CmdResult} from '../src/interfaces';
import * as exec from '@actions/exec';
@@ -22,35 +14,6 @@ afterEach(() => {
delete process.env['GITHUB_REPOSITORY'];
});
describe('setRepo()', () => {
test('throw error destination_dir should be a relative path', async () => {
process.env['INPUT_GITHUB_TOKEN'] = 'test_github_token';
process.env['INPUT_PUBLISH_BRANCH'] = 'gh-pages';
process.env['INPUT_PUBLISH_DIR'] = 'public';
process.env['INPUT_DESTINATION_DIR'] = '/subdir';
// process.env['INPUT_EXTERNAL_REPOSITORY'] = 'user/repo';
// process.env['INPUT_ALLOW_EMPTY_COMMIT'] = 'true';
// process.env['INPUT_KEEP_FILES'] = 'true';
// process.env['INPUT_FORCE_ORPHAN'] = 'true';
// process.env['INPUT_USER_NAME'] = 'username';
// process.env['INPUT_USER_EMAIL'] = 'github@github.com';
// process.env['INPUT_COMMIT_MESSAGE'] = 'feat: Add new feature';
// process.env['INPUT_FULL_COMMIT_MESSAGE'] = 'feat: Add new feature';
// process.env['INPUT_TAG_NAME'] = 'deploy-v1.2.3';
// process.env['INPUT_TAG_MESSAGE'] = 'Deployment v1.2.3';
// process.env['INPUT_DISABLE_NOJEKYLL'] = 'true';
// process.env['INPUT_CNAME'] = 'github.com';
const inps: Inputs = getInputs();
const remoteURL = 'https://x-access-token:pat@github.com/actions/pages.git';
const date = new Date();
const unixTime = date.getTime();
const workDir = await getWorkDirName(`${unixTime}`);
await expect(setRepo(inps, remoteURL, workDir)).rejects.toThrowError(
'destination_dir should be a relative path'
);
});
});
describe('getUserName()', () => {
test('get default git user name', () => {
const userName = '';
@@ -88,7 +51,7 @@ describe('setCommitAuthor()', () => {
})();
beforeEach(async () => {
await createDir(workDirName);
await createWorkDir(workDirName);
process.chdir(workDirName);
await exec.exec('git', ['init']);
});
@@ -151,53 +114,3 @@ describe('setCommitAuthor()', () => {
);
});
});
describe('getCommitMessage()', () => {
test('get default message', () => {
const test = getCommitMessage('', '', '', 'actions/pages', 'commit_hash');
expect(test).toMatch('deploy: commit_hash');
});
test('get default message for external repository', () => {
const test = getCommitMessage(
'',
'',
'actions/actions.github.io',
'actions/pages',
'commit_hash'
);
expect(test).toMatch('deploy: actions/pages@commit_hash');
});
test('get custom message', () => {
const test = getCommitMessage('Custom msg', '', '', 'actions/pages', 'commit_hash');
expect(test).toMatch('Custom msg commit_hash');
});
test('get custom message for external repository', () => {
const test = getCommitMessage(
'Custom msg',
'',
'actions/actions.github.io',
'actions/pages',
'commit_hash'
);
expect(test).toMatch('Custom msg actions/pages@commit_hash');
});
test('get full custom message', () => {
const test = getCommitMessage('', 'Full custom msg', '', 'actions/pages', 'commit_hash');
expect(test).toMatch('Full custom msg');
});
test('get full custom message for external repository', () => {
const test = getCommitMessage(
'',
'Full custom msg',
'actions/actions.github.io',
'actions/pages',
'commit_hash'
);
expect(test).toMatch('Full custom msg');
});
});

View File

@@ -1,4 +1,8 @@
import {getPublishRepo, setPersonalToken, setGithubToken} from '../src/set-tokens';
import {
getPublishRepo,
setPersonalToken,
setGithubToken
} from '../src/set-tokens';
beforeEach(() => {
jest.resetModules();
@@ -22,7 +26,8 @@ describe('getPublishRepo()', () => {
describe('setGithubToken()', () => {
test('return remote url with GITHUB_TOKEN gh-pages', () => {
const expected = 'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const expected =
'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const test = setGithubToken(
'GITHUB_TOKEN',
'owner/repo',
@@ -35,7 +40,8 @@ describe('setGithubToken()', () => {
});
test('return remote url with GITHUB_TOKEN master', () => {
const expected = 'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const expected =
'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const test = setGithubToken(
'GITHUB_TOKEN',
'owner/repo',
@@ -47,35 +53,16 @@ describe('setGithubToken()', () => {
expect(test).toMatch(expected);
});
test('return remote url with GITHUB_TOKEN gh-pages (RegExp)', () => {
const expected = 'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const test = setGithubToken(
'GITHUB_TOKEN',
'owner/repo',
'gh-pages',
'',
'refs/heads/gh-pages-base',
'push'
);
expect(test).toMatch(expected);
});
test('throw error gh-pages-base to gh-pages-base (RegExp)', () => {
test('throw error master to master', () => {
expect(() => {
setGithubToken(
'GITHUB_TOKEN',
'owner/repo',
'gh-pages-base',
'master',
'',
'refs/heads/gh-pages-base',
'refs/heads/master',
'push'
);
}).toThrowError('You deploy from gh-pages-base to gh-pages-base');
});
test('throw error master to master', () => {
expect(() => {
setGithubToken('GITHUB_TOKEN', 'owner/repo', 'master', '', 'refs/heads/master', 'push');
}).toThrowError('You deploy from master to master');
});
@@ -89,14 +76,14 @@ describe('setGithubToken()', () => {
'refs/heads/master',
'push'
);
}).toThrowError(`\
The generated GITHUB_TOKEN (github_token) does not support to push to an external repository.
Use deploy_key or personal_token.
`);
}).toThrowError(
'GITHUB_TOKEN does not support to push to an external repository'
);
});
test('return remote url with GITHUB_TOKEN pull_request', () => {
const expected = 'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const expected =
'https://x-access-token:GITHUB_TOKEN@github.com/owner/repo.git';
const test = setGithubToken(
'GITHUB_TOKEN',
'owner/repo',

View File

@@ -3,10 +3,9 @@ import fs from 'fs';
import {
getHomeDir,
getWorkDirName,
createDir,
createWorkDir,
addNoJekyll,
addCNAME,
skipOnFork
addCNAME
} from '../src/utils';
beforeEach(() => {
@@ -51,11 +50,11 @@ describe('getWorkDirName()', () => {
});
});
describe('createDir()', () => {
test('create a directory', async () => {
describe('createWorkDir()', () => {
test('create work directory', async () => {
const unixTime = await getTime();
const workDirName = await getWorkDirName(`${unixTime}`);
await createDir(workDirName);
await createWorkDir(workDirName);
const test = fs.existsSync(workDirName);
expect(test).toBe(true);
});
@@ -65,7 +64,7 @@ async function getWorkDir(): Promise<string> {
const unixTime = await getTime();
let workDir = '';
workDir = await getWorkDirName(`${unixTime}`);
await createDir(workDir);
await createWorkDir(workDir);
return workDir;
}
@@ -204,30 +203,3 @@ describe('addCNAME()', () => {
fs.unlinkSync(filepath);
});
});
describe('skipOnFork()', () => {
test('return false on upstream', async () => {
const test = await skipOnFork(false, 'token', '', '');
expect(test).toBeFalsy();
});
test('return false on fork with github_token', async () => {
const test = await skipOnFork(true, 'token', '', '');
expect(test).toBeFalsy();
});
test('return false on fork with deploy_key', async () => {
const test = await skipOnFork(true, '', 'deploy_key', '');
expect(test).toBeFalsy();
});
test('return false on fork with personal_token', async () => {
const test = await skipOnFork(true, '', '', 'personal_token');
expect(test).toBeFalsy();
});
test('return true on fork with no tokens', async () => {
const test = await skipOnFork(true, '', '', '');
expect(test).toBeTruthy();
});
});

View File

@@ -25,10 +25,6 @@ inputs:
description: 'Set an input directory for deployment.'
required: false
default: 'public'
destination_dir:
description: 'Set an destination subdirectory for deployment.'
required: false
default: ''
external_repository:
description: 'Set an external repository (owner/repo).'
required: false
@@ -51,10 +47,7 @@ inputs:
description: 'Set Git user.email'
required: false
commit_message:
description: 'Set a custom commit message with a triggered commit hash'
required: false
full_commit_message:
description: 'Set a custom full commit message without a triggered commit hash'
description: 'Set custom commit message'
required: false
tag_name:
description: 'Set tag name'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -8,4 +8,4 @@ module.exports = {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
};
}

26962
lib/index.js

File diff suppressed because one or more lines are too long

4535
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,17 @@
{
"name": "actions-github-pages",
"version": "3.7.0-0",
"version": "3.5.4-0",
"description": "GitHub Actions for GitHub Pages",
"main": "lib/index.js",
"engines": {
"node": ">=12.16.3",
"npm": ">=6.14.4"
"node": ">=12.16.1",
"npm": ">=6.14.2"
},
"scripts": {
"all": "npm run format && npm run lint && npm test",
"lint": "eslint ./{src,__tests__}/**/*.ts",
"lint:fix": "eslint --fix ./{src,__tests__}/**/*.ts",
"test": "jest --coverage --verbose --detectOpenHandles",
"build": "ncc build ./src/index.ts -o lib --minify",
"build": "ncc build ./src/index.ts -o lib",
"tsc": "tsc",
"format": "prettier --write **/*.ts",
"format:check": "prettier --check **/*.ts",
@@ -27,12 +26,9 @@
}
},
"lint-staged": {
"{src,__tests__}/**/*.ts": [
"src/**/*.ts": [
"prettier --check",
"eslint"
],
"README.md": [
"npx doctoc@1.4.0 --github"
]
},
"repository": {
@@ -54,30 +50,28 @@
},
"homepage": "https://github.com/peaceiris/actions-gh-pages#readme",
"dependencies": {
"@actions/core": "^1.2.4",
"@actions/exec": "^1.0.4",
"@actions/github": "^4.0.0",
"@actions/core": "^1.2.3",
"@actions/exec": "^1.0.3",
"@actions/github": "^2.1.1",
"@actions/io": "^1.0.2"
},
"devDependencies": {
"@types/jest": "^26.0.5",
"@types/js-yaml": "^3.12.4",
"@types/jest": "^25.1.4",
"@types/js-yaml": "^3.12.2",
"@types/node": "~12",
"@typescript-eslint/eslint-plugin": "^2.34.0",
"@typescript-eslint/parser": "^2.34.0",
"@zeit/ncc": "^0.22.3",
"@typescript-eslint/eslint-plugin": "^2.23.0",
"@typescript-eslint/parser": "^2.23.0",
"@zeit/ncc": "^0.21.1",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-jest": "^23.18.0",
"eslint-plugin-prettier": "^3.1.4",
"husky": "^4.2.5",
"jest": "^25.5.4",
"jest-circus": "^26.1.0",
"js-yaml": "^3.14.0",
"lint-staged": "^10.2.11",
"prettier": "2.0.5",
"standard-version": "^8.0.2",
"ts-jest": "^25.5.1",
"typescript": "^3.9.7"
"eslint-plugin-jest": "^23.8.2",
"husky": "^4.2.3",
"jest": "^25.1.0",
"jest-circus": "^25.1.0",
"js-yaml": "^3.13.1",
"lint-staged": "^10.0.8",
"prettier": "1.19.1",
"standard-version": "^7.1.0",
"ts-jest": "^25.2.1",
"typescript": "^3.8.3"
}
}

View File

@@ -3,11 +3,9 @@
# fail on unset variables and command errors
set -eu -o pipefail # -x: is for debugging
DEFAULT_BRANCH="main"
CURRENT_BRANCH="$(git branch --show-current)"
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
echo "$0: Current branch ${CURRENT_BRANCH} is not ${DEFAULT_BRANCH}, continue? (y/n)"
if [ "${CURRENT_BRANCH}" != "master" ]; then
echo "$0: Current branch ${CURRENT_BRANCH} is not master, continue? (y/n)"
read -r res
if [ "${res}" = "n" ]; then
echo "$0: Stop script"
@@ -16,7 +14,7 @@ if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
fi
PRERELEASE_TYPE_LIST="prerelease prepatch preminor premajor"
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
if [ "${CURRENT_BRANCH}" != "master" ]; then
RELEASE_TYPE_LIST="${PRERELEASE_TYPE_LIST}"
else
RELEASE_TYPE_LIST="${PRERELEASE_TYPE_LIST} patch minor major"
@@ -39,10 +37,10 @@ if [ "${res}" = "n" ]; then
fi
git fetch origin
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
if [ "${CURRENT_BRANCH}" != "master" ]; then
git pull origin "${CURRENT_BRANCH}"
else
git pull origin ${DEFAULT_BRANCH}
git pull origin master
git tag -d v3 || true
git pull origin --tags
fi
@@ -60,10 +58,10 @@ git rm ./lib/index.js
rm -rf ./lib
git commit -m "chore(release): Remove build assets [skip ci]"
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
if [ "${CURRENT_BRANCH}" != "master" ]; then
git push origin "${CURRENT_BRANCH}"
else
git push origin ${DEFAULT_BRANCH}
git push origin master
fi
TAG_NAME="v$(jq -r '.version' ./package.json)"

View File

@@ -15,7 +15,6 @@ export function showInputs(inps: Inputs): void {
[INFO] ${authMethod}: true
[INFO] PublishBranch: ${inps.PublishBranch}
[INFO] PublishDir: ${inps.PublishDir}
[INFO] DestinationDir: ${inps.DestinationDir}
[INFO] ExternalRepository: ${inps.ExternalRepository}
[INFO] AllowEmptyCommit: ${inps.AllowEmptyCommit}
[INFO] KeepFiles: ${inps.KeepFiles}
@@ -23,7 +22,6 @@ export function showInputs(inps: Inputs): void {
[INFO] UserName: ${inps.UserName}
[INFO] UserEmail: ${inps.UserEmail}
[INFO] CommitMessage: ${inps.CommitMessage}
[INFO] FullCommitMessage: ${inps.FullCommitMessage}
[INFO] TagName: ${inps.TagName}
[INFO] TagMessage: ${inps.TagMessage}
[INFO] EnableJekyll (DisableNoJekyll): ${inps.DisableNoJekyll}
@@ -53,15 +51,16 @@ export function getInputs(): Inputs {
PersonalToken: core.getInput('personal_token'),
PublishBranch: core.getInput('publish_branch'),
PublishDir: core.getInput('publish_dir'),
DestinationDir: core.getInput('destination_dir'),
ExternalRepository: core.getInput('external_repository'),
AllowEmptyCommit: (core.getInput('allow_empty_commit') || 'false').toUpperCase() === 'TRUE',
KeepFiles: (core.getInput('keep_files') || 'false').toUpperCase() === 'TRUE',
ForceOrphan: (core.getInput('force_orphan') || 'false').toUpperCase() === 'TRUE',
AllowEmptyCommit:
(core.getInput('allow_empty_commit') || 'false').toUpperCase() === 'TRUE',
KeepFiles:
(core.getInput('keep_files') || 'false').toUpperCase() === 'TRUE',
ForceOrphan:
(core.getInput('force_orphan') || 'false').toUpperCase() === 'TRUE',
UserName: core.getInput('user_name'),
UserEmail: core.getInput('user_email'),
CommitMessage: core.getInput('commit_message'),
FullCommitMessage: core.getInput('full_commit_message'),
TagName: core.getInput('tag_name'),
TagMessage: core.getInput('tag_message'),
DisableNoJekyll: useBuiltinJekyll,

View File

@@ -1,10 +1,11 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as github from '@actions/github';
import * as io from '@actions/io';
import path from 'path';
import fs from 'fs';
import {Inputs, CmdResult} from './interfaces';
import {createDir} from './utils';
import {createWorkDir} from './utils';
export async function createBranchForce(branch: string): Promise<void> {
await exec.exec('git', ['init']);
@@ -12,7 +13,10 @@ export async function createBranchForce(branch: string): Promise<void> {
return;
}
export async function copyAssets(publishDir: string, destDir: string): Promise<void> {
export async function copyAssets(
publishDir: string,
workDir: string
): Promise<void> {
const copyOpts = {recursive: true, force: true};
const files = fs.readdirSync(publishDir);
core.debug(`${files}`);
@@ -21,36 +25,29 @@ export async function copyAssets(publishDir: string, destDir: string): Promise<v
continue;
}
const filePath = path.join(publishDir, file);
await io.cp(filePath, `${destDir}/`, copyOpts);
await io.cp(filePath, `${workDir}/`, copyOpts);
core.info(`[INFO] copy ${file}`);
}
return;
}
export async function setRepo(inps: Inputs, remoteURL: string, workDir: string): Promise<void> {
const publishDir = path.isAbsolute(inps.PublishDir)
? inps.PublishDir
: path.join(`${process.env.GITHUB_WORKSPACE}`, inps.PublishDir);
if (path.isAbsolute(inps.DestinationDir)) {
throw new Error('destination_dir should be a relative path');
}
const destDir = ((): string => {
if (inps.DestinationDir === '') {
return workDir;
} else {
return path.join(workDir, inps.DestinationDir);
}
})();
export async function setRepo(
inps: Inputs,
remoteURL: string,
workDir: string
): Promise<void> {
const publishDir = path.join(
`${process.env.GITHUB_WORKSPACE}`,
inps.PublishDir
);
core.info(`[INFO] ForceOrphan: ${inps.ForceOrphan}`);
if (inps.ForceOrphan) {
await createDir(destDir);
await createWorkDir(workDir);
process.chdir(workDir);
await createBranchForce(inps.PublishBranch);
process.chdir(destDir);
await copyAssets(publishDir, destDir);
await copyAssets(publishDir, workDir);
return;
}
@@ -69,7 +66,15 @@ export async function setRepo(inps: Inputs, remoteURL: string, workDir: string):
try {
result.exitcode = await exec.exec(
'git',
['clone', '--depth=1', '--single-branch', '--branch', inps.PublishBranch, remoteURL, workDir],
[
'clone',
'--depth=1',
'--single-branch',
'--branch',
inps.PublishBranch,
remoteURL,
workDir
],
options
);
if (result.exitcode === 0) {
@@ -80,18 +85,20 @@ export async function setRepo(inps: Inputs, remoteURL: string, workDir: string):
await exec.exec('git', ['rm', '-r', '--ignore-unmatch', '*']);
}
await copyAssets(publishDir, destDir);
await copyAssets(publishDir, workDir);
return;
} else {
throw new Error(`Failed to clone remote branch ${inps.PublishBranch}`);
}
} catch (e) {
core.info(`[INFO] first deployment, create new branch ${inps.PublishBranch}`);
core.info(
`[INFO] first deployment, create new branch ${inps.PublishBranch}`
);
core.info(e.message);
await createDir(destDir);
await createWorkDir(workDir);
process.chdir(workDir);
await createBranchForce(inps.PublishBranch);
await copyAssets(publishDir, destDir);
await copyAssets(publishDir, workDir);
return;
}
}
@@ -112,7 +119,10 @@ export function getUserEmail(userEmail: string): string {
}
}
export async function setCommitAuthor(userName: string, userEmail: string): Promise<void> {
export async function setCommitAuthor(
userName: string,
userEmail: string
): Promise<void> {
if (userName && !userEmail) {
throw new Error('user_email is undefined');
}
@@ -123,35 +133,26 @@ export async function setCommitAuthor(userName: string, userEmail: string): Prom
await exec.exec('git', ['config', 'user.email', getUserEmail(userEmail)]);
}
export function getCommitMessage(
msg: string,
fullMsg: string,
extRepo: string,
baseRepo: string,
hash: string
): string {
const msgHash = ((): string => {
if (extRepo) {
return `${baseRepo}@${hash}`;
} else {
return hash;
}
})();
export async function commit(
allowEmptyCommit: boolean,
externalRepository: string,
message: string
): Promise<void> {
let msg = '';
if (message) {
msg = message;
} else {
msg = 'deploy:';
}
const subject = ((): string => {
if (fullMsg) {
return fullMsg;
} else if (msg) {
return `${msg} ${msgHash}`;
} else {
return `deploy: ${msgHash}`;
}
})();
const hash = `${process.env.GITHUB_SHA}`;
const baseRepo = `${github.context.repo.owner}/${github.context.repo.repo}`;
if (externalRepository) {
msg = `${msg} ${baseRepo}@${hash}`;
} else {
msg = `${msg} ${hash}`;
}
return subject;
}
export async function commit(allowEmptyCommit: boolean, msg: string): Promise<void> {
try {
if (allowEmptyCommit) {
await exec.exec('git', ['commit', '--allow-empty', '-m', `${msg}`]);
@@ -164,7 +165,10 @@ export async function commit(allowEmptyCommit: boolean, msg: string): Promise<vo
}
}
export async function push(branch: string, forceOrphan: boolean): Promise<void> {
export async function push(
branch: string,
forceOrphan: boolean
): Promise<void> {
if (forceOrphan) {
await exec.exec('git', ['push', 'origin', '--force', branch]);
} else {
@@ -172,7 +176,10 @@ export async function push(branch: string, forceOrphan: boolean): Promise<void>
}
}
export async function pushTag(tagName: string, tagMessage: string): Promise<void> {
export async function pushTag(
tagName: string,
tagMessage: string
): Promise<void> {
if (tagName === '') {
return;
}

View File

@@ -4,7 +4,6 @@ export interface Inputs {
readonly PersonalToken: string;
readonly PublishBranch: string;
readonly PublishDir: string;
readonly DestinationDir: string;
readonly ExternalRepository: string;
readonly AllowEmptyCommit: boolean;
readonly KeepFiles: boolean;
@@ -12,7 +11,6 @@ export interface Inputs {
readonly UserName: string;
readonly UserEmail: string;
readonly CommitMessage: string;
readonly FullCommitMessage: string;
readonly TagName: string;
readonly TagMessage: string;
readonly DisableNoJekyll: boolean;

View File

@@ -1,58 +1,36 @@
import {context} from '@actions/github';
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as github from '@actions/github';
import {Inputs} from './interfaces';
import {showInputs, getInputs} from './get-inputs';
import {setTokens} from './set-tokens';
import {setRepo, setCommitAuthor, getCommitMessage, commit, push, pushTag} from './git-utils';
import {setRepo, setCommitAuthor, commit, push, pushTag} from './git-utils';
import {getWorkDirName, addNoJekyll, addCNAME, skipOnFork} from './utils';
export async function run(): Promise<void> {
try {
const inps: Inputs = getInputs();
core.startGroup('Dump inputs');
showInputs(inps);
core.endGroup();
if (core.isDebug()) {
core.startGroup('Debug: dump context');
console.log(context);
core.endGroup();
const isSkipOnFork = await skipOnFork(
inps.GithubToken,
inps.DeployKey,
inps.PersonalToken
);
if (isSkipOnFork) {
return;
}
const eventName = context.eventName;
if (eventName === 'pull_request' || eventName === 'push') {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const isForkRepository = (context.payload as any).repository.fork;
const isSkipOnFork = await skipOnFork(
isForkRepository,
inps.GithubToken,
inps.DeployKey,
inps.PersonalToken
);
if (isSkipOnFork) {
core.warning('This action runs on a fork and not found auth token, Skip deployment');
core.setOutput('skip', 'true');
return;
}
}
core.startGroup('Setup auth token');
const remoteURL = await setTokens(inps);
core.debug(`remoteURL: ${remoteURL}`);
core.endGroup();
core.debug(`[INFO] remoteURL: ${remoteURL}`);
core.startGroup('Prepare publishing assets');
const date = new Date();
const unixTime = date.getTime();
const workDir = await getWorkDirName(`${unixTime}`);
await setRepo(inps, remoteURL, workDir);
await addNoJekyll(workDir, inps.DisableNoJekyll, inps.PublishBranch);
await addCNAME(workDir, inps.CNAME);
core.endGroup();
core.startGroup('Setup Git config');
try {
await exec.exec('git', ['remote', 'rm', 'origin']);
} catch (e) {
@@ -61,25 +39,13 @@ export async function run(): Promise<void> {
await exec.exec('git', ['remote', 'add', 'origin', remoteURL]);
await exec.exec('git', ['add', '--all']);
await setCommitAuthor(inps.UserName, inps.UserEmail);
core.endGroup();
core.startGroup('Create a commit');
const hash = `${process.env.GITHUB_SHA}`;
const baseRepo = `${github.context.repo.owner}/${github.context.repo.repo}`;
const commitMessage = getCommitMessage(
inps.CommitMessage,
inps.FullCommitMessage,
await commit(
inps.AllowEmptyCommit,
inps.ExternalRepository,
baseRepo,
hash
inps.CommitMessage
);
await commit(inps.AllowEmptyCommit, commitMessage);
core.endGroup();
core.startGroup('Push the commit or tag');
await push(inps.PublishBranch, inps.ForceOrphan);
await pushTag(inps.TagName, inps.TagMessage);
core.endGroup();
core.info('[INFO] Action successfully completed');

View File

@@ -9,7 +9,10 @@ const cpexec = require('child_process').execFileSync;
import {Inputs} from './interfaces';
import {getHomeDir} from './utils';
export async function setSSHKey(inps: Inputs, publishRepo: string): Promise<string> {
export async function setSSHKey(
inps: Inputs,
publishRepo: string
): Promise<string> {
core.info('[INFO] setup SSH deploy key');
const homeDir = await getHomeDir();
@@ -44,11 +47,6 @@ Host github
await exec.exec('chmod', ['600', sshConfigPath]);
if (process.platform === 'win32') {
core.warning(`\
Currently, the deploy_key option is not supported on the windows-latest.
Watch https://github.com/peaceiris/actions-gh-pages/issues/87
`);
await cpSpawnSync('Start-Process', ['powershell.exe', '-Verb', 'runas']);
await cpSpawnSync('sh', ['-c', '\'eval "$(ssh-agent)"\''], {shell: true});
await exec.exec('sc', ['config', 'ssh-agent', 'start=auto']);
@@ -75,32 +73,35 @@ export function setGithubToken(
core.debug(`eventName: ${eventName}`);
let isProhibitedBranch = false;
if (externalRepository) {
throw new Error(`\
The generated GITHUB_TOKEN (github_token) does not support to push to an external repository.
Use deploy_key or personal_token.
`);
if (eventName === 'push') {
isProhibitedBranch = ref.includes(`refs/heads/${publishBranch}`);
if (isProhibitedBranch) {
throw new Error(`You deploy from ${publishBranch} to ${publishBranch}`);
}
}
if (eventName === 'push') {
isProhibitedBranch = ref.match(new RegExp(`^refs/heads/${publishBranch}$`)) !== null;
if (isProhibitedBranch) {
throw new Error(`\
You deploy from ${publishBranch} to ${publishBranch}
This operation is prohibited to protect your contents
`);
}
if (externalRepository) {
throw new Error(
'GITHUB_TOKEN does not support to push to an external repository'
);
}
return `https://x-access-token:${githubToken}@github.com/${publishRepo}.git`;
}
export function setPersonalToken(personalToken: string, publishRepo: string): string {
export function setPersonalToken(
personalToken: string,
publishRepo: string
): string {
core.info('[INFO] setup personal access token');
return `https://x-access-token:${personalToken}@github.com/${publishRepo}.git`;
}
export function getPublishRepo(externalRepository: string, owner: string, repo: string): string {
export function getPublishRepo(
externalRepository: string,
owner: string,
repo: string
): string {
if (externalRepository) {
return externalRepository;
}

View File

@@ -1,3 +1,4 @@
import {context} from '@actions/github';
import * as core from '@actions/core';
import * as io from '@actions/io';
import path from 'path';
@@ -23,9 +24,9 @@ export async function getWorkDirName(unixTime: string): Promise<string> {
return workDirName;
}
export async function createDir(dirPath: string): Promise<void> {
await io.mkdirP(dirPath);
core.debug(`Created directory ${dirPath}`);
export async function createWorkDir(workDirName: string): Promise<void> {
await io.mkdirP(workDirName);
core.debug(`Created: ${workDirName}`);
return;
}
@@ -47,7 +48,10 @@ export async function addNoJekyll(
}
}
export async function addCNAME(workDir: string, content: string): Promise<void> {
export async function addCNAME(
workDir: string,
content: string
): Promise<void> {
if (content === '') {
return;
}
@@ -61,16 +65,21 @@ export async function addCNAME(workDir: string, content: string): Promise<void>
}
export async function skipOnFork(
isForkRepository: boolean,
githubToken: string,
deployKey: string,
personalToken: string
): Promise<boolean> {
if (isForkRepository) {
if (githubToken === '' && deployKey === '' && personalToken === '') {
return true;
}
const isForkRepository =
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(context.payload as any).repository.fork.toUpperCase() === 'TRUE';
if (!isForkRepository || githubToken) {
return false;
}
return false;
if (isForkRepository && (deployKey || personalToken)) {
return false;
}
return true;
}