Compare commits
216 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23abc3124a | ||
|
|
866d7e715c | ||
|
|
6f45501409 | ||
|
|
bf46251210 | ||
|
|
f8993157cb | ||
|
|
9cf67ec63b | ||
|
|
0f5c65e140 | ||
|
|
2046290e2b | ||
|
|
600bb6caa2 | ||
|
|
20912713da | ||
|
|
674c2318ce | ||
|
|
0b4686e3a6 | ||
|
|
1029512144 | ||
|
|
6c430d988e | ||
|
|
6f6bb2661a | ||
|
|
d1700b5653 | ||
|
|
1b5d710b24 | ||
|
|
3667febec5 | ||
|
|
8546b0c56b | ||
|
|
2c04f23922 | ||
|
|
b15488f0b3 | ||
|
|
612f1f7579 | ||
|
|
af7aac1007 | ||
|
|
6896bd8b80 | ||
|
|
ad558aa8bd | ||
|
|
5051105279 | ||
|
|
99a89f661a | ||
|
|
8cd820bd66 | ||
|
|
f633b0f6b5 | ||
|
|
a2712f7b92 | ||
|
|
09b03c0bb1 | ||
|
|
afee929f89 | ||
|
|
4b17904d54 | ||
|
|
ce4e3beff1 | ||
|
|
3874723ac6 | ||
|
|
f0c76f03b6 | ||
|
|
b7f7b0dddb | ||
|
|
14e12e8e74 | ||
|
|
f30118c78e | ||
|
|
0cb61e91a5 | ||
|
|
42a6cdde0c | ||
|
|
250469649c | ||
|
|
a5a8912d3e | ||
|
|
5980f05de8 | ||
|
|
106f76b593 | ||
|
|
8a36f3edfc | ||
|
|
220a06da5e | ||
|
|
e193524bff | ||
|
|
7e92312ae4 | ||
|
|
3d656402e5 | ||
|
|
6901b8e8fc | ||
|
|
932df18147 | ||
|
|
c935046a93 | ||
|
|
ed8dfeaf86 | ||
|
|
381bc0b884 | ||
|
|
3914720f25 | ||
|
|
f53ab0c2a5 | ||
|
|
6b76e36ab3 | ||
|
|
a4205cbdd8 | ||
|
|
d753ac9b7d | ||
|
|
488b74cc9f | ||
|
|
16d58bea33 | ||
|
|
a8941b89c6 | ||
|
|
0413b987d2 | ||
|
|
9560cb6d44 | ||
|
|
b6cbae3580 | ||
|
|
29acb8eaee | ||
|
|
2e976845a6 | ||
|
|
31cdbe5222 | ||
|
|
c6333d41f0 | ||
|
|
4dfc201b55 | ||
|
|
b882ee3b2a | ||
|
|
ef42af2aef | ||
|
|
f2192db227 | ||
|
|
c6eab4153b | ||
|
|
05b3340742 | ||
|
|
ad23393e24 | ||
|
|
ac980646cf | ||
|
|
4fd6bd94b6 | ||
|
|
f86ecdfe86 | ||
|
|
31b8c32f32 | ||
|
|
91a3cf4cdd | ||
|
|
89628f0310 | ||
|
|
1ceef71a57 | ||
|
|
a72f52102f | ||
|
|
4d89a385db | ||
|
|
b6801e6334 | ||
|
|
19976af8e5 | ||
|
|
f444b0ede2 | ||
|
|
51c782389a | ||
|
|
f954d4113e | ||
|
|
2165a2b5fc | ||
|
|
688a3b3d0c | ||
|
|
d2b7688ae3 | ||
|
|
70411f07e7 | ||
|
|
3971a95d5a | ||
|
|
744621d13d | ||
|
|
5d0c4dbf35 | ||
|
|
738b4dea9f | ||
|
|
852c3a3ca6 | ||
|
|
7ddf1f7f90 | ||
|
|
58b4bf3981 | ||
|
|
a117f832ce | ||
|
|
2d9155e27f | ||
|
|
37213103b1 | ||
|
|
8b93bc127f | ||
|
|
aa82aebc1d | ||
|
|
e705cf59bc | ||
|
|
215b80c84b | ||
|
|
96f4391cd5 | ||
|
|
1f596ab2b7 | ||
|
|
3de5b2308f | ||
|
|
773665f4f0 | ||
|
|
929a7d0a6a | ||
|
|
d1afc2e8ce | ||
|
|
59c0ce4284 | ||
|
|
65dc7af084 | ||
|
|
4477775802 | ||
|
|
ce787cf051 | ||
|
|
73cf1d15d9 | ||
|
|
6cad446381 | ||
|
|
c4529a59aa | ||
|
|
646a1a3881 | ||
|
|
a17e9d437e | ||
|
|
fe5636cf95 | ||
|
|
8f1f960923 | ||
|
|
5b6baff975 | ||
|
|
938e1fa9f5 | ||
|
|
fef0123d21 | ||
|
|
6b188a8022 | ||
|
|
3203c05a3a | ||
|
|
ea6d487bc7 | ||
|
|
fcbee38355 | ||
|
|
89c0c9cbfa | ||
|
|
64f3c7fc7f | ||
|
|
e150cedd96 | ||
|
|
6d42c2c3b6 | ||
|
|
a4f1f945d9 | ||
|
|
54e6a6f172 | ||
|
|
2076093b93 | ||
|
|
5a8b86ffc3 | ||
|
|
c50767dbfe | ||
|
|
e1eecfc328 | ||
|
|
f0fa0c21ed | ||
|
|
dcdf5ddc8b | ||
|
|
31d3feb0ee | ||
|
|
9597f4c0a9 | ||
|
|
489eaccb26 | ||
|
|
df4a516dab | ||
|
|
e27e4b7140 | ||
|
|
d8522eea61 | ||
|
|
cf2e9edd2a | ||
|
|
8cb34fe1e5 | ||
|
|
859ffbd0d0 | ||
|
|
d30737529f | ||
|
|
e53cc4cb81 | ||
|
|
ce66f63638 | ||
|
|
fd82b38c08 | ||
|
|
a8209677e6 | ||
|
|
489a03aac4 | ||
|
|
d6f110ce1e | ||
|
|
db632c70f2 | ||
|
|
8380af7d49 | ||
|
|
377bddc67b | ||
|
|
f621c70917 | ||
|
|
4b44fa2951 | ||
|
|
c5a0e44f79 | ||
|
|
83dbf819fb | ||
|
|
cbe2833e9b | ||
|
|
5b29ffa40d | ||
|
|
c8f4fd4c5d | ||
|
|
c639d964e8 | ||
|
|
9c52277f7b | ||
|
|
8457ade3d7 | ||
|
|
bdb15640ef | ||
|
|
f559ed8889 | ||
|
|
db3e60d230 | ||
|
|
504181401b | ||
|
|
b0da6c009f | ||
|
|
c56c9818a0 | ||
|
|
1c794ced3b | ||
|
|
0b7411e2cf | ||
|
|
750c807fa1 | ||
|
|
ae34186caa | ||
|
|
a5d411bf28 | ||
|
|
2875e4112a | ||
|
|
9d27fac8dc | ||
|
|
7501463241 | ||
|
|
b9cccec41e | ||
|
|
e782e1d323 | ||
|
|
c12a4b1908 | ||
|
|
dd1933a7b4 | ||
|
|
08093066ac | ||
|
|
c603e10bc1 | ||
|
|
5fe58fddba | ||
|
|
54a4434749 | ||
|
|
20d80bcd8c | ||
|
|
d9f616f4a2 | ||
|
|
e76c874d85 | ||
|
|
029c1a08f9 | ||
|
|
eafac7a3ef | ||
|
|
e4462d9bb6 | ||
|
|
91e6658ef0 | ||
|
|
714f710922 | ||
|
|
813be0645e | ||
|
|
a580dd75ed | ||
|
|
cf30185743 | ||
|
|
f815420c17 | ||
|
|
e5aa21b8a8 | ||
|
|
d2178821cb | ||
|
|
6462e1bf5e | ||
|
|
051ddfc79a | ||
|
|
f191fb8187 | ||
|
|
6cb5962c01 | ||
|
|
33b82d2be0 | ||
|
|
a2c82a8833 |
@@ -1,30 +0,0 @@
|
||||
version: 1
|
||||
update_configs:
|
||||
- package_manager: "javascript"
|
||||
directory: "/"
|
||||
update_schedule: "live"
|
||||
default_labels:
|
||||
- "dependencies"
|
||||
commit_message:
|
||||
prefix: "deps"
|
||||
automerged_updates:
|
||||
- match:
|
||||
dependency_type: "development"
|
||||
# Supported dependency types:
|
||||
# - "development"
|
||||
# - "production"
|
||||
# - "all"
|
||||
update_type: "all"
|
||||
# Supported updates to automerge:
|
||||
# - "security:patch"
|
||||
# SemVer patch update that fixes a known security vulnerability
|
||||
# - "semver:patch"
|
||||
# SemVer patch update, e.g. > 1.x && 1.0.1 to 1.0.3
|
||||
# - "semver:minor"
|
||||
# SemVer minor update, e.g. > 1.x && 2.1.4 to 2.3.1
|
||||
# - "in_range"
|
||||
# matching the version requirement in your package manifest
|
||||
# - "all"
|
||||
- match:
|
||||
dependency_type: "production"
|
||||
update_type: "semver:patch"
|
||||
@@ -6,10 +6,13 @@
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:jest/recommended"
|
||||
"plugin:jest/recommended",
|
||||
"plugin:prettier/recommended",
|
||||
"prettier/@typescript-eslint"
|
||||
],
|
||||
"plugins": ["@typescript-eslint"],
|
||||
"globals": {
|
||||
"Atomics": "readonly",
|
||||
"SharedArrayBuffer": "readonly"
|
||||
|
||||
21
.github/ISSUE_TEMPLATE/1_user_support.md
vendored
21
.github/ISSUE_TEMPLATE/1_user_support.md
vendored
@@ -6,26 +6,31 @@ labels: support
|
||||
assignees: peaceiris
|
||||
---
|
||||
|
||||
**Check list before opening this issue**
|
||||
<!-- 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**
|
||||
### Describe your question
|
||||
|
||||
A clear and concise description of what the question is.
|
||||
<!-- A clear and concise description of what the question is. -->
|
||||
|
||||
**Link to your contents**
|
||||
### Link to your contents
|
||||
|
||||
<!--
|
||||
- Link to your public repository here
|
||||
- Link to your workflow here
|
||||
-->
|
||||
|
||||
**Screenshots**
|
||||
### Screenshots
|
||||
|
||||
If applicable, add screenshots to help explain your question.
|
||||
<!-- If applicable, add screenshots to help explain your question. -->
|
||||
|
||||
**Additional context**
|
||||
### Additional context
|
||||
|
||||
Add any other context about the problem here.
|
||||
<!-- Add any other context about the problem here. -->
|
||||
|
||||
33
.github/ISSUE_TEMPLATE/2_bug_report.md
vendored
33
.github/ISSUE_TEMPLATE/2_bug_report.md
vendored
@@ -7,25 +7,38 @@ assignees: peaceiris
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
<!-- Note that an issue which does not follow the template will be closed silently. -->
|
||||
|
||||
**To Reproduce**
|
||||
### 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.
|
||||
### Expected behavior
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
**Your YAML file**
|
||||
### 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.
|
||||
### Additional context
|
||||
|
||||
<!-- Add any other context about the problem here. -->
|
||||
|
||||
22
.github/ISSUE_TEMPLATE/3_proposal.md
vendored
22
.github/ISSUE_TEMPLATE/3_proposal.md
vendored
@@ -7,14 +7,20 @@ 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 [...]
|
||||
<!-- Note that an issue which does not follow the template will be closed silently. -->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
### Is your feature request related to a problem? Please describe
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
### 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. -->
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/config.yml
vendored
4
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,7 +1,7 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: GitHub Actions Community Forum
|
||||
url: https://github.community/t5/GitHub-Actions/bd-p/actions
|
||||
- name: GitHub Actions - GitHub Support Community Forum
|
||||
url: https://github.community/c/github-actions
|
||||
about: Please ask questions about GitHub Actions here.
|
||||
- name: GitHub Pages Documentation
|
||||
url: https://help.github.com/en/github/working-with-github-pages
|
||||
|
||||
26
.github/dependabot.yml
vendored
Normal file
26
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
||||
29
.github/workflows/codeql.yml
vendored
Normal file
29
.github/workflows/codeql.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
||||
19
.github/workflows/dev-image.yml
vendored
19
.github/workflows/dev-image.yml
vendored
@@ -3,23 +3,22 @@ name: 'Dev Image CI'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths:
|
||||
- '.github/workflows/dev-image.yml'
|
||||
- '.dockerignore'
|
||||
- '.nvmrc'
|
||||
- 'Dockerfile'
|
||||
- 'Makefile'
|
||||
- 'docker-compose.yml'
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
paths:
|
||||
- '.github/workflows/dev-image.yml'
|
||||
- '.dockerignore'
|
||||
- '.nvmrc'
|
||||
- 'Dockerfile'
|
||||
- 'Makefile'
|
||||
- 'docker-compose.yml'
|
||||
|
||||
jobs:
|
||||
skipci:
|
||||
@@ -31,7 +30,13 @@ jobs:
|
||||
runs-on: ubuntu-18.04
|
||||
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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: docker-compose pull --quiet
|
||||
if: github.event_name == 'pull_request'
|
||||
- run: make build
|
||||
- run: make cirun cmd="npm ci"
|
||||
- run: make ciall
|
||||
- run: make ci
|
||||
- run: make all
|
||||
- run: docker-compose push
|
||||
if: github.ref == 'refs/heads/main'
|
||||
|
||||
@@ -3,6 +3,7 @@ name: Purge image cache
|
||||
on:
|
||||
schedule:
|
||||
- cron: '54 18 * * */7'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
purge:
|
||||
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
release:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2.3.1
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
|
||||
85
.github/workflows/test.yml
vendored
85
.github/workflows/test.yml
vendored
@@ -3,33 +3,26 @@ name: 'Test'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
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
|
||||
- uses: actions/checkout@v2.3.1
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
@@ -41,7 +34,7 @@ jobs:
|
||||
id: nvm
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.1
|
||||
with:
|
||||
node-version: '${{ steps.nvm.outputs.NVMRC }}'
|
||||
|
||||
@@ -56,22 +49,22 @@ jobs:
|
||||
- run: npm ci
|
||||
|
||||
- name: Run prettier
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu-18.04')
|
||||
run: npm run format:check
|
||||
|
||||
- name: Run eslint
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu-18.04')
|
||||
run: npm run lint
|
||||
|
||||
- run: npm test
|
||||
|
||||
- name: Upload test coverage as artifact
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: coverage
|
||||
name: coverage-${{ matrix.os }}
|
||||
path: coverage
|
||||
|
||||
- uses: codecov/codecov-action@v1
|
||||
- uses: codecov/codecov-action@v1.0.12
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
@@ -79,30 +72,30 @@ jobs:
|
||||
run: npm run build
|
||||
|
||||
- name: Remove lint-staged husky
|
||||
if: github.ref == 'refs/heads/master'
|
||||
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/master'
|
||||
uses: peaceiris/actions-mdbook@v1
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: peaceiris/actions-mdbook@v1.1.12
|
||||
with:
|
||||
mdbook-version: '0.3.6'
|
||||
mdbook-version: '0.3.7'
|
||||
|
||||
- name: Build site
|
||||
if: github.ref == 'refs/heads/master'
|
||||
if: github.ref == 'refs/heads/main'
|
||||
working-directory: ./test_projects/mdbook
|
||||
run: mdbook build
|
||||
|
||||
- name: Deploy
|
||||
if: |
|
||||
startsWith(matrix.os, 'ubuntu') &&
|
||||
github.ref == 'refs/heads/master'
|
||||
startsWith(matrix.os, 'ubuntu-18.04') &&
|
||||
github.ref == 'refs/heads/main'
|
||||
uses: ./
|
||||
with:
|
||||
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
# github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# publish_branch: gh-pages
|
||||
publish_dir: ./test_projects/mdbook/book
|
||||
# external_repository: ''
|
||||
@@ -114,10 +107,28 @@ jobs:
|
||||
# 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/master'
|
||||
github.ref == 'refs/heads/main'
|
||||
uses: ./
|
||||
with:
|
||||
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
@@ -136,7 +147,7 @@ jobs:
|
||||
- name: Deploy
|
||||
if: |
|
||||
startsWith(matrix.os, 'windows') &&
|
||||
github.ref == 'refs/heads/master'
|
||||
github.ref == 'refs/heads/main'
|
||||
uses: ./
|
||||
with:
|
||||
# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
@@ -151,3 +162,21 @@ jobs:
|
||||
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 }}
|
||||
|
||||
2
.github/workflows/update-major-tag.yml
vendored
2
.github/workflows/update-major-tag.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2.3.1
|
||||
|
||||
- name: Update major tag
|
||||
if: github.event.release.prerelease == false
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"printWidth": 80,
|
||||
"printWidth": 100,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"semi": true,
|
||||
|
||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"git.ignoreLimitWarning": true
|
||||
"git.ignoreLimitWarning": true,
|
||||
"deno.enable": false
|
||||
}
|
||||
363
CHANGELOG.md
363
CHANGELOG.md
@@ -2,6 +2,369 @@
|
||||
|
||||
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-6](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-5...v3.7.0-6) (2020-07-25)
|
||||
|
||||
|
||||
### feat
|
||||
|
||||
* exclude_assets supports glob patterns (#417) ([6f45501](https://github.com/peaceiris/actions-gh-pages/commit/6f45501409dbe16857c00f6d40a51bea56254f2b)), closes [#417](https://github.com/peaceiris/actions-gh-pages/issues/417) [#163](https://github.com/peaceiris/actions-gh-pages/issues/163)
|
||||
|
||||
|
||||
|
||||
# [3.7.0-5](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-4...v3.7.0-5) (2020-07-25)
|
||||
|
||||
|
||||
### feat
|
||||
|
||||
* Add exclude_assets option (#416) ([0f5c65e](https://github.com/peaceiris/actions-gh-pages/commit/0f5c65e1408b30fe461ba319ca9a01d20c293cd4)), closes [#416](https://github.com/peaceiris/actions-gh-pages/issues/416) [#163](https://github.com/peaceiris/actions-gh-pages/issues/163)
|
||||
|
||||
|
||||
|
||||
# [3.7.0-4](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-3...v3.7.0-4) (2020-07-25)
|
||||
|
||||
|
||||
### fix
|
||||
|
||||
* copyAssets() for destination_dir (#414) ([674c231](https://github.com/peaceiris/actions-gh-pages/commit/674c2318cebb9ba59aa8fbf8ec4fae8482e51e5c)), closes [#414](https://github.com/peaceiris/actions-gh-pages/issues/414)
|
||||
|
||||
|
||||
|
||||
# [3.7.0-3](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-2...v3.7.0-3) (2020-07-24)
|
||||
|
||||
|
||||
### deps
|
||||
|
||||
* bump @types/jest from 26.0.5 to 26.0.7 (#411) ([d1700b5](https://github.com/peaceiris/actions-gh-pages/commit/d1700b565361478232daa6d66d3fe7c146b9d08f)), closes [#411](https://github.com/peaceiris/actions-gh-pages/issues/411)
|
||||
* bump @types/node from 12.12.51 to 12.12.52 (#412) ([1b5d710](https://github.com/peaceiris/actions-gh-pages/commit/1b5d710b249d09c1e229931378217c47773de8ed)), closes [#412](https://github.com/peaceiris/actions-gh-pages/issues/412)
|
||||
|
||||
### fix
|
||||
|
||||
* set full path of publishing assets (#413) ([6f6bb26](https://github.com/peaceiris/actions-gh-pages/commit/6f6bb2661a12d5db5d7df62962d1d28403a02860)), closes [#413](https://github.com/peaceiris/actions-gh-pages/issues/413) [/github.com/peaceiris/actions-gh-pages/issues/410#issuecomment-663507581](https://github.com//github.com/peaceiris/actions-gh-pages/issues/410/issues/issuecomment-663507581)
|
||||
|
||||
### refactor
|
||||
|
||||
* change message type from warning to info ([3667feb](https://github.com/peaceiris/actions-gh-pages/commit/3667febec573a36efa26505b6a712b314242991a))
|
||||
|
||||
|
||||
|
||||
# [3.7.0-2](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-1...v3.7.0-2) (2020-07-23)
|
||||
|
||||
|
||||
### ci
|
||||
|
||||
* Add docker-compose.yml (#406) ([a2712f7](https://github.com/peaceiris/actions-gh-pages/commit/a2712f7b923e3e05d0f46e54fbcacef3380aca31)), closes [#406](https://github.com/peaceiris/actions-gh-pages/issues/406)
|
||||
* bump actions/setup-node from v2.1.0 to v2.1.1 (#407) ([8cd820b](https://github.com/peaceiris/actions-gh-pages/commit/8cd820bd660be6aa016923b6b35005df2fb071da)), closes [#407](https://github.com/peaceiris/actions-gh-pages/issues/407)
|
||||
* bump codecov/codecov-action from v1.0.11 to v1.0.12 (#409) ([af7aac1](https://github.com/peaceiris/actions-gh-pages/commit/af7aac10073791e2907990204f723d6b0ff902c5)), closes [#409](https://github.com/peaceiris/actions-gh-pages/issues/409)
|
||||
* remove types [skip ci] ([f633b0f](https://github.com/peaceiris/actions-gh-pages/commit/f633b0f6b54f252348cc3b10713b111caaf6f3d1))
|
||||
|
||||
### docs
|
||||
|
||||
* Add Code Scanning workflow badge ([99a89f6](https://github.com/peaceiris/actions-gh-pages/commit/99a89f661a291c444965018bf828995e08d7bb7b))
|
||||
* bump hugo from 0.71.1 to 0.74.2 ([ad558aa](https://github.com/peaceiris/actions-gh-pages/commit/ad558aa8bd9ad82edc7bd886159659328e6d61de))
|
||||
* change default-branch to main ([6896bd8](https://github.com/peaceiris/actions-gh-pages/commit/6896bd8b80ecc02e6c47bbcf7fc1ae0bd4d47645))
|
||||
* change master branch to default-branch (#408) ([5051105](https://github.com/peaceiris/actions-gh-pages/commit/505110527986e8c3d30694488f643d6529d0d593)), closes [#408](https://github.com/peaceiris/actions-gh-pages/issues/408)
|
||||
|
||||
### fix
|
||||
|
||||
* chdir to workDir after copied assets ([612f1f7](https://github.com/peaceiris/actions-gh-pages/commit/612f1f7579820dc380d265d61924f7a7d8718859)), closes [#324](https://github.com/peaceiris/actions-gh-pages/issues/324)
|
||||
|
||||
|
||||
|
||||
# [3.7.0-1](https://github.com/peaceiris/actions-gh-pages/compare/v3.7.0-0...v3.7.0-1) (2020-07-21)
|
||||
|
||||
|
||||
### docs
|
||||
|
||||
* Enhance section name ([3874723](https://github.com/peaceiris/actions-gh-pages/commit/3874723ac6158d13e3f1e3c8fd34e1ce96d9edf7))
|
||||
|
||||
### fix
|
||||
|
||||
* KeepFiles behaviour when DestinationDir has dir (#405) ([ce4e3be](https://github.com/peaceiris/actions-gh-pages/commit/ce4e3beff1ed33658f3160b0f45b688c6ea09932)), closes [#405](https://github.com/peaceiris/actions-gh-pages/issues/405) [#324](https://github.com/peaceiris/actions-gh-pages/issues/324)
|
||||
|
||||
|
||||
|
||||
# [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)
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ RUN apt-get update && \
|
||||
npm i -g npm
|
||||
|
||||
WORKDIR /git
|
||||
ENV GIT_VERSION="2.26.2"
|
||||
ENV GIT_VERSION="2.27.0"
|
||||
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" && \
|
||||
|
||||
30
Makefile
30
Makefile
@@ -1,36 +1,22 @@
|
||||
cmd := "bash"
|
||||
msg := ""
|
||||
IMAGE_NAME := actions_github_pages_dev:latest
|
||||
IMAGE_NAME := docker.pkg.github.com/peaceiris/actions-gh-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)
|
||||
docker-compose build --build-arg NODE_VERSION=$(NODE_VERSION)
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
$(DOCKER_RUN) $(cmd)
|
||||
docker-compose run --rm dev bash
|
||||
|
||||
.PHONY: cirun
|
||||
cirun:
|
||||
$(DOCKER_RUN_CI) $(cmd)
|
||||
.PHONY: ci
|
||||
ci:
|
||||
docker-compose run --rm -T dev npm ci
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
$(DOCKER_RUN) npm test
|
||||
|
||||
.PHONY: commit
|
||||
commit:
|
||||
$(DOCKER_RUN) git commit -m "$(msg)"
|
||||
docker-compose run --rm -T dev npm test
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
$(DOCKER_RUN) npm run all
|
||||
|
||||
.PHONY: ciall
|
||||
ciall:
|
||||
$(DOCKER_RUN_CI) npm run all
|
||||
docker-compose run --rm -T dev npm run all
|
||||
|
||||
250
README.md
250
README.md
@@ -1,22 +1,18 @@
|
||||
[](https://github.com/peaceiris/actions-gh-pages/blob/master/LICENSE)
|
||||
[](https://github.com/peaceiris/actions-gh-pages/blob/main/LICENSE)
|
||||
[](https://github.com/peaceiris/actions-gh-pages/releases/latest)
|
||||
[](https://github.com/peaceiris/actions-gh-pages/releases)
|
||||

|
||||

|
||||

|
||||
[](https://www.codefactor.io/repository/github/peaceiris/actions-gh-pages)
|
||||
[](https://github.com/peaceiris/actions-gh-pages/releases.atom)
|
||||
[](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, GitBook, mdBook, and so on.)
|
||||
This deploy action can be combined simply and freely with [Static Site Generators]. (Hugo, MkDocs, Gatsby, mdBook, Next, Nuxt, and so on.)
|
||||
|
||||
[Static Site Generators]: https://www.staticgen.com/
|
||||
|
||||
@@ -41,13 +37,22 @@ 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)
|
||||
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)
|
||||
|
||||
### 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) | ✅️ |
|
||||
|
||||
@@ -65,17 +70,18 @@ Notes: Actually, the `GITHUB_TOKEN` works for deploying to GitHub Pages but it h
|
||||
- [⭐️ 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)
|
||||
- [⭐️ CNAME](#%EF%B8%8F-cname)
|
||||
- [⭐️ Enable Built-in Jekyll](#%EF%B8%8F-enable-built-in-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)
|
||||
- [⭐️ Force orphan](#%EF%B8%8F-force-orphan)
|
||||
- [⭐️ Set Runner's Access Token `github_token`](#%EF%B8%8F-set-runners-access-token-github_token)
|
||||
- [⭐️ Set SSH Private Key `deploy_key`](#%EF%B8%8F-set-ssh-private-key-deploy_key)
|
||||
- [⭐️ Set Personal Access Token `personal_token`](#%EF%B8%8F-set-personal-access-token-personal_token)
|
||||
- [⭐️ Target Branch `publish_branch`](#%EF%B8%8F-target-branch-publish_branch)
|
||||
- [⭐️ Source Directory `publish_dir`](#%EF%B8%8F-source-directory-publish_dir)
|
||||
- [⭐️ Deploy to Subdirectory `destination_dir`](#%EF%B8%8F-deploy-to-subdirectory-destination_dir)
|
||||
- [⭐️ Add CNAME file `cname`](#%EF%B8%8F-add-cname-file-cname)
|
||||
- [⭐️ Enable Built-in Jekyll `enable_jekyll`](#%EF%B8%8F-enable-built-in-jekyll-enable_jekyll)
|
||||
- [⭐️ Allow empty commits `allow_empty_commit`](#%EF%B8%8F-allow-empty-commits-allow_empty_commit)
|
||||
- [⭐️ Keeping existing files `keep_files`](#%EF%B8%8F-keeping-existing-files-keep_files)
|
||||
- [⭐️ Deploy to external repository `external_repository`](#%EF%B8%8F-deploy-to-external-repository-external_repository)
|
||||
- [⭐️ Force orphan `force_orphan`](#%EF%B8%8F-force-orphan-force_orphan)
|
||||
- [⭐️ Set Git username and email](#%EF%B8%8F-set-git-username-and-email)
|
||||
- [⭐️ Set custom commit message](#%EF%B8%8F-set-custom-commit-message)
|
||||
- [⭐️ Create Git tag](#%EF%B8%8F-create-git-tag)
|
||||
@@ -83,6 +89,7 @@ Notes: Actually, the `GITHUB_TOKEN` works for deploying to GitHub Pages but it h
|
||||
- [⭐️ 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)
|
||||
@@ -106,7 +113,7 @@ Notes: Actually, the `GITHUB_TOKEN` works for deploying to GitHub Pages but it h
|
||||
|
||||
### ⭐️ Repository type - Project
|
||||
|
||||
Add your workflow file `.github/workflows/gh-pages.yml` and push to the remote master branch.
|
||||
Add your workflow file `.github/workflows/gh-pages.yml` and push to the remote default branch branch.
|
||||
|
||||
An example workflow for Hugo.
|
||||
|
||||
@@ -120,7 +127,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -128,13 +135,13 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: '0.68.3'
|
||||
hugo-version: '0.74.2'
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
@@ -195,7 +202,7 @@ jobs:
|
||||
|
||||
## Options
|
||||
|
||||
### ⭐️ `github_token`
|
||||
### ⭐️ Set Runner's Access Token `github_token`
|
||||
|
||||
**This option is for `GITHUB_TOKEN`, not a personal access token.**
|
||||
|
||||
@@ -211,7 +218,7 @@ GitHub Actions runner automatically creates a `GITHUB_TOKEN` secret to use in yo
|
||||
|
||||
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`
|
||||
### ⭐️ Set SSH Private Key `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.
|
||||
|
||||
@@ -223,11 +230,10 @@ Read [Create SSH Deploy Key](#%EF%B8%8F-create-ssh-deploy-key), create your SSH
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
### ⭐️ `personal_token`
|
||||
### ⭐️ Set Personal Access Token `personal_token`
|
||||
|
||||
[Generate a personal access token (`repo`)](https://github.com/settings/tokens) and add it to Secrets as `PERSONAL_TOKEN`, it works as well as `ACTIONS_DEPLOY_KEY`.
|
||||
|
||||
|
||||
```yaml
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
@@ -236,7 +242,7 @@ Read [Create SSH Deploy Key](#%EF%B8%8F-create-ssh-deploy-key), create your SSH
|
||||
publish_dir: ./public
|
||||
```
|
||||
|
||||
### ⭐️ `publish_branch`
|
||||
### ⭐️ Target Branch `publish_branch`
|
||||
|
||||
A target branch to deploy to GitHub Pages. The default is `gh-pages`.
|
||||
|
||||
@@ -248,9 +254,9 @@ A target branch to deploy to GitHub Pages. The default is `gh-pages`.
|
||||
publish_branch: master # default: gh-pages
|
||||
```
|
||||
|
||||
### ⭐️ `publish_dir`
|
||||
### ⭐️ Source Directory `publish_dir`
|
||||
|
||||
A target directory to deploy to GitHub Pages. The default is `public`.
|
||||
A source directory to deploy to GitHub Pages. The default is `public`.
|
||||
|
||||
```yaml
|
||||
- name: Deploy
|
||||
@@ -260,7 +266,22 @@ A target directory to deploy to GitHub Pages. The default is `public`.
|
||||
publish_dir: ./out # default: public
|
||||
```
|
||||
|
||||
### ⭐️ CNAME
|
||||
### ⭐️ Deploy to Subdirectory `destination_dir`
|
||||
|
||||
*This feature is on beta.*
|
||||
*Any feedback is welcome at [Issue #324](https://github.com/peaceiris/actions-gh-pages/issues/324)*
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
### ⭐️ Add CNAME file `cname`
|
||||
|
||||
To add `CNAME` file, we can set the `cname` option.
|
||||
|
||||
@@ -275,7 +296,7 @@ For more details about `CNAME`, read the official documentation: [Managing a cus
|
||||
cname: github.com
|
||||
```
|
||||
|
||||
### ⭐️ Enable Built-in Jekyll
|
||||
### ⭐️ 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.
|
||||
|
||||
@@ -297,7 +318,7 @@ Bypassing Jekyll makes the deployment faster and is necessary if you are deployi
|
||||
|
||||
For more details about `.nojekyll`: [Bypassing Jekyll on GitHub Pages - The GitHub Blog](https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/)
|
||||
|
||||
### ⭐️ Allow empty commits
|
||||
### ⭐️ Allow empty commits `allow_empty_commit`
|
||||
|
||||
By default, a commit will not be generated when no file changes. If you want to allow an empty commit, set the optional parameter `allow_empty_commit` to `true`.
|
||||
|
||||
@@ -312,7 +333,7 @@ For example:
|
||||
allow_empty_commit: true
|
||||
```
|
||||
|
||||
### ⭐️ Keeping existing files
|
||||
### ⭐️ Keeping existing files `keep_files`
|
||||
|
||||
By default, existing files in the publish branch are removed before adding the ones from publish dir. If you want the action to add new files but leave existing ones untouched, set the optional parameter `keep_files` to `true`.
|
||||
|
||||
@@ -327,7 +348,7 @@ For example:
|
||||
keep_files: true
|
||||
```
|
||||
|
||||
### ⭐️ Deploy to external repository
|
||||
### ⭐️ Deploy to external repository `external_repository`
|
||||
|
||||
By default, your files are published to the repository which is running this action.
|
||||
If you want to publish to another repository on GitHub, set the environment variable `external_repository` to `<username>/<external-repository>`.
|
||||
@@ -347,9 +368,16 @@ 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.
|
||||
|
||||
Be careful, `GITHUB_TOKEN` has no permission to access to external repositories.
|
||||
**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 }}`.**
|
||||
|
||||
### ⭐️ Force orphan
|
||||
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
|
||||
|
||||
### ⭐️ Force orphan `force_orphan`
|
||||
|
||||
We can set the `force_orphan: true` option.
|
||||
This allows you to make your publish branch with only the latest commit.
|
||||
@@ -382,7 +410,7 @@ A commit is always created with the same user.
|
||||
|
||||
### ⭐️ Set custom commit message
|
||||
|
||||
Set custom commit message.
|
||||
Set a 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
|
||||
@@ -394,6 +422,20 @@ 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.
|
||||
@@ -404,7 +446,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
tags:
|
||||
- 'v*.*.*'
|
||||
|
||||
@@ -436,7 +478,7 @@ jobs:
|
||||
Commands on a local machine.
|
||||
|
||||
```console
|
||||
$ # On the master branch
|
||||
$ # On a main branch
|
||||
$ git tag -a "v1.2.3" -m "Release v1.2.3"
|
||||
$ git push origin "v1.2.3"
|
||||
|
||||
@@ -444,7 +486,7 @@ $ # After deployment
|
||||
$ git fetch origin
|
||||
$ git tag
|
||||
deploy-v1.2.3 # Tag on the gh-pages branch
|
||||
v1.2.3 # Tag on the master branch
|
||||
v1.2.3 # Tag on the main branch
|
||||
```
|
||||
|
||||
<div align="right">
|
||||
@@ -498,6 +540,50 @@ 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:
|
||||
- main
|
||||
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>
|
||||
@@ -508,10 +594,9 @@ It is useful to watch this repository (release only) to check the [latest releas
|
||||
|
||||
### ⭐️ Static Site Generators with Node.js
|
||||
|
||||
[hexo], [gitbook], [vuepress], [react-static], [gridsome], and so on.
|
||||
[hexo], [vuepress], [react-static], [gridsome], and so on.
|
||||
|
||||
[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
|
||||
@@ -524,7 +609,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -533,12 +618,12 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
@@ -568,7 +653,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -577,12 +662,12 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
@@ -616,7 +701,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -625,7 +710,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
@@ -634,14 +719,14 @@ jobs:
|
||||
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.yarn-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-yarn-
|
||||
|
||||
- run: yarn install
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn build
|
||||
- run: yarn export
|
||||
|
||||
@@ -667,7 +752,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -676,12 +761,12 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
@@ -713,23 +798,22 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths:
|
||||
- '.github/workflows/deploy.yml'
|
||||
- 'website/**'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: 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@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
@@ -738,14 +822,14 @@ jobs:
|
||||
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.yarn-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-website-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-website-
|
||||
|
||||
- run: yarn install
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn build
|
||||
|
||||
- name: Deploy
|
||||
@@ -771,7 +855,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -780,23 +864,29 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v1
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.6'
|
||||
architecture: 'x64'
|
||||
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)"
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
path: ${{ steps.pip-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r ./requirements.txt
|
||||
run: python3 -m pip install -r ./requirements.txt
|
||||
|
||||
- run: mkdocs build
|
||||
|
||||
@@ -821,7 +911,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -856,7 +946,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -896,7 +986,7 @@ name: github pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -905,7 +995,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
uses: actions/setup-node@v2.1.0
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
@@ -972,7 +1062,7 @@ name: GitHub Pages
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -1007,7 +1097,7 @@ jobs:
|
||||
|
||||
- [MIT License - peaceiris/actions-gh-pages]
|
||||
|
||||
[MIT License - peaceiris/actions-gh-pages]: https://github.com/peaceiris/actions-gh-pages/blob/master/LICENSE
|
||||
[MIT License - peaceiris/actions-gh-pages]: https://github.com/peaceiris/actions-gh-pages/blob/main/LICENSE
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,9 +9,7 @@ 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'];
|
||||
@@ -19,9 +17,7 @@ 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]}`);
|
||||
@@ -44,6 +40,7 @@ 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}
|
||||
@@ -51,10 +48,12 @@ 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}
|
||||
[INFO] CNAME: ${inps.CNAME}
|
||||
[INFO] ExcludeAssets ${inps.ExcludeAssets}
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -110,6 +109,7 @@ 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);
|
||||
@@ -117,10 +117,12 @@ 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);
|
||||
expect(inps.CNAME).toMatch('');
|
||||
expect(inps.ExcludeAssets).toMatch('.github');
|
||||
});
|
||||
|
||||
test('get spec inputs', () => {
|
||||
@@ -129,6 +131,7 @@ 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';
|
||||
@@ -136,10 +139,12 @@ 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';
|
||||
process.env['INPUT_CNAME'] = 'github.com';
|
||||
process.env['INPUT_EXCLUDE_ASSETS'] = '.github';
|
||||
|
||||
const inps: Inputs = getInputs();
|
||||
|
||||
@@ -148,6 +153,7 @@ 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);
|
||||
@@ -155,10 +161,18 @@ 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');
|
||||
expect(inps.ExcludeAssets).toMatch('.github');
|
||||
});
|
||||
|
||||
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', () => {
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
import {getUserName, getUserEmail, setCommitAuthor} from '../src/git-utils';
|
||||
import {getWorkDirName, createWorkDir} from '../src/utils';
|
||||
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 {CmdResult} from '../src/interfaces';
|
||||
import * as exec from '@actions/exec';
|
||||
|
||||
@@ -14,6 +22,36 @@ 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';
|
||||
process.env['INPUT_EXCLUDE_ASSETS'] = '.github';
|
||||
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 = '';
|
||||
@@ -51,7 +89,7 @@ describe('setCommitAuthor()', () => {
|
||||
})();
|
||||
|
||||
beforeEach(async () => {
|
||||
await createWorkDir(workDirName);
|
||||
await createDir(workDirName);
|
||||
process.chdir(workDirName);
|
||||
await exec.exec('git', ['init']);
|
||||
});
|
||||
@@ -114,3 +152,53 @@ 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');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import {
|
||||
getPublishRepo,
|
||||
setPersonalToken,
|
||||
setGithubToken
|
||||
} from '../src/set-tokens';
|
||||
import {getPublishRepo, setPersonalToken, setGithubToken} from '../src/set-tokens';
|
||||
|
||||
beforeEach(() => {
|
||||
jest.resetModules();
|
||||
@@ -26,8 +22,7 @@ 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',
|
||||
@@ -40,8 +35,7 @@ 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',
|
||||
@@ -53,16 +47,35 @@ describe('setGithubToken()', () => {
|
||||
expect(test).toMatch(expected);
|
||||
});
|
||||
|
||||
test('throw error master to master', () => {
|
||||
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)', () => {
|
||||
expect(() => {
|
||||
setGithubToken(
|
||||
'GITHUB_TOKEN',
|
||||
'owner/repo',
|
||||
'master',
|
||||
'gh-pages-base',
|
||||
'',
|
||||
'refs/heads/master',
|
||||
'refs/heads/gh-pages-base',
|
||||
'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');
|
||||
});
|
||||
|
||||
@@ -76,14 +89,14 @@ describe('setGithubToken()', () => {
|
||||
'refs/heads/master',
|
||||
'push'
|
||||
);
|
||||
}).toThrowError(
|
||||
'GITHUB_TOKEN does not support to push to an external repository'
|
||||
);
|
||||
}).toThrowError(`\
|
||||
The generated GITHUB_TOKEN (github_token) does not support to push to an external repository.
|
||||
Use deploy_key or personal_token.
|
||||
`);
|
||||
});
|
||||
|
||||
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',
|
||||
|
||||
@@ -3,7 +3,7 @@ import fs from 'fs';
|
||||
import {
|
||||
getHomeDir,
|
||||
getWorkDirName,
|
||||
createWorkDir,
|
||||
createDir,
|
||||
addNoJekyll,
|
||||
addCNAME,
|
||||
skipOnFork
|
||||
@@ -51,11 +51,11 @@ describe('getWorkDirName()', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('createWorkDir()', () => {
|
||||
test('create work directory', async () => {
|
||||
describe('createDir()', () => {
|
||||
test('create a directory', async () => {
|
||||
const unixTime = await getTime();
|
||||
const workDirName = await getWorkDirName(`${unixTime}`);
|
||||
await createWorkDir(workDirName);
|
||||
await createDir(workDirName);
|
||||
const test = fs.existsSync(workDirName);
|
||||
expect(test).toBe(true);
|
||||
});
|
||||
@@ -65,7 +65,7 @@ async function getWorkDir(): Promise<string> {
|
||||
const unixTime = await getTime();
|
||||
let workDir = '';
|
||||
workDir = await getWorkDirName(`${unixTime}`);
|
||||
await createWorkDir(workDir);
|
||||
await createDir(workDir);
|
||||
return workDir;
|
||||
}
|
||||
|
||||
|
||||
13
action.yml
13
action.yml
@@ -25,6 +25,10 @@ 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
|
||||
@@ -47,7 +51,10 @@ inputs:
|
||||
description: 'Set Git user.email'
|
||||
required: false
|
||||
commit_message:
|
||||
description: 'Set custom 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'
|
||||
required: false
|
||||
tag_name:
|
||||
description: 'Set tag name'
|
||||
@@ -66,3 +73,7 @@ inputs:
|
||||
cname:
|
||||
description: 'Set custom domain'
|
||||
required: false
|
||||
exclude_assets:
|
||||
description: 'Set files or directories to exclude from a publish directory.'
|
||||
required: false
|
||||
default: '.github'
|
||||
|
||||
16
docker-compose.yml
Normal file
16
docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
version: '3.2'
|
||||
|
||||
services:
|
||||
dev:
|
||||
image: 'docker.pkg.github.com/peaceiris/actions-gh-pages/dev:latest'
|
||||
build:
|
||||
context: .
|
||||
cache_from:
|
||||
- 'docker.pkg.github.com/peaceiris/actions-gh-pages/dev:latest'
|
||||
container_name: peaceiris_actions_github_pages
|
||||
volumes:
|
||||
- ${PWD}:/repo
|
||||
stdin_open: true
|
||||
tty: true
|
||||
command:
|
||||
- bash
|
||||
BIN
images/commit_message.jpg
Normal file
BIN
images/commit_message.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
@@ -8,4 +8,4 @@ module.exports = {
|
||||
'^.+\\.ts$': 'ts-jest'
|
||||
},
|
||||
verbose: true
|
||||
}
|
||||
};
|
||||
|
||||
File diff suppressed because one or more lines are too long
2518
package-lock.json
generated
2518
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
43
package.json
43
package.json
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"name": "actions-github-pages",
|
||||
"version": "3.5.8",
|
||||
"version": "3.7.0-6",
|
||||
"description": "GitHub Actions for GitHub Pages",
|
||||
"main": "lib/index.js",
|
||||
"engines": {
|
||||
"node": ">=12.16.2",
|
||||
"node": ">=12.16.3",
|
||||
"npm": ">=6.14.4"
|
||||
},
|
||||
"scripts": {
|
||||
@@ -27,7 +27,7 @@
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"src/**/*.ts": [
|
||||
"{src,__tests__}/**/*.ts": [
|
||||
"prettier --check",
|
||||
"eslint"
|
||||
],
|
||||
@@ -54,28 +54,31 @@
|
||||
},
|
||||
"homepage": "https://github.com/peaceiris/actions-gh-pages#readme",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.3",
|
||||
"@actions/exec": "^1.0.3",
|
||||
"@actions/github": "^2.1.1",
|
||||
"@actions/core": "^1.2.4",
|
||||
"@actions/exec": "^1.0.4",
|
||||
"@actions/github": "^4.0.0",
|
||||
"@actions/glob": "^0.1.0",
|
||||
"@actions/io": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^25.2.1",
|
||||
"@types/js-yaml": "^3.12.3",
|
||||
"@types/jest": "^26.0.7",
|
||||
"@types/js-yaml": "^3.12.4",
|
||||
"@types/node": "~12",
|
||||
"@typescript-eslint/eslint-plugin": "^2.30.0",
|
||||
"@typescript-eslint/parser": "^2.30.0",
|
||||
"@zeit/ncc": "^0.22.1",
|
||||
"@typescript-eslint/eslint-plugin": "^2.34.0",
|
||||
"@typescript-eslint/parser": "^2.34.0",
|
||||
"@zeit/ncc": "^0.22.3",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-plugin-jest": "^23.8.2",
|
||||
"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.0",
|
||||
"jest-circus": "^25.5.0",
|
||||
"js-yaml": "^3.13.1",
|
||||
"lint-staged": "^10.2.0",
|
||||
"prettier": "2.0.4",
|
||||
"standard-version": "^7.1.0",
|
||||
"ts-jest": "^25.4.0",
|
||||
"typescript": "^3.8.3"
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
16
release.sh
16
release.sh
@@ -3,9 +3,11 @@
|
||||
# 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}" != "master" ]; then
|
||||
echo "$0: Current branch ${CURRENT_BRANCH} is not master, continue? (y/n)"
|
||||
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
|
||||
echo "$0: Current branch ${CURRENT_BRANCH} is not ${DEFAULT_BRANCH}, continue? (y/n)"
|
||||
read -r res
|
||||
if [ "${res}" = "n" ]; then
|
||||
echo "$0: Stop script"
|
||||
@@ -14,7 +16,7 @@ if [ "${CURRENT_BRANCH}" != "master" ]; then
|
||||
fi
|
||||
|
||||
PRERELEASE_TYPE_LIST="prerelease prepatch preminor premajor"
|
||||
if [ "${CURRENT_BRANCH}" != "master" ]; then
|
||||
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
|
||||
RELEASE_TYPE_LIST="${PRERELEASE_TYPE_LIST}"
|
||||
else
|
||||
RELEASE_TYPE_LIST="${PRERELEASE_TYPE_LIST} patch minor major"
|
||||
@@ -37,10 +39,10 @@ if [ "${res}" = "n" ]; then
|
||||
fi
|
||||
|
||||
git fetch origin
|
||||
if [ "${CURRENT_BRANCH}" != "master" ]; then
|
||||
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
|
||||
git pull origin "${CURRENT_BRANCH}"
|
||||
else
|
||||
git pull origin master
|
||||
git pull origin ${DEFAULT_BRANCH}
|
||||
git tag -d v3 || true
|
||||
git pull origin --tags
|
||||
fi
|
||||
@@ -58,10 +60,10 @@ git rm ./lib/index.js
|
||||
rm -rf ./lib
|
||||
git commit -m "chore(release): Remove build assets [skip ci]"
|
||||
|
||||
if [ "${CURRENT_BRANCH}" != "master" ]; then
|
||||
if [ "${CURRENT_BRANCH}" != "${DEFAULT_BRANCH}" ]; then
|
||||
git push origin "${CURRENT_BRANCH}"
|
||||
else
|
||||
git push origin master
|
||||
git push origin ${DEFAULT_BRANCH}
|
||||
fi
|
||||
|
||||
TAG_NAME="v$(jq -r '.version' ./package.json)"
|
||||
|
||||
@@ -15,6 +15,7 @@ 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}
|
||||
@@ -22,10 +23,12 @@ 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}
|
||||
[INFO] CNAME: ${inps.CNAME}
|
||||
[INFO] ExcludeAssets ${inps.ExcludeAssets}
|
||||
`);
|
||||
}
|
||||
|
||||
@@ -51,20 +54,20 @@ 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,
|
||||
CNAME: core.getInput('cname')
|
||||
CNAME: core.getInput('cname'),
|
||||
ExcludeAssets: core.getInput('exclude_assets')
|
||||
};
|
||||
|
||||
return inps;
|
||||
|
||||
169
src/git-utils.ts
169
src/git-utils.ts
@@ -1,11 +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 * as glob from '@actions/glob';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import {Inputs, CmdResult} from './interfaces';
|
||||
import {createWorkDir} from './utils';
|
||||
import {createDir} from './utils';
|
||||
|
||||
export async function createBranchForce(branch: string): Promise<void> {
|
||||
await exec.exec('git', ['init']);
|
||||
@@ -13,41 +13,75 @@ export async function createBranchForce(branch: string): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
export async function deleteExcludedAssets(destDir: string, excludeAssets: string): Promise<void> {
|
||||
core.info(`[INFO] delete excluded assets`);
|
||||
const excludedAssetNames: Array<string> = excludeAssets.split(',');
|
||||
const excludedAssetPaths = ((): Array<string> => {
|
||||
const paths: Array<string> = [];
|
||||
for (const pattern of excludedAssetNames) {
|
||||
paths.push(path.join(destDir, pattern));
|
||||
}
|
||||
return paths;
|
||||
})();
|
||||
const globber = await glob.create(excludedAssetPaths.join('\n'));
|
||||
for await (const asset of globber.globGenerator()) {
|
||||
io.rmRF(asset);
|
||||
core.info(`[INFO] delete ${asset}`);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
export async function copyAssets(
|
||||
publishDir: string,
|
||||
workDir: string
|
||||
destDir: string,
|
||||
excludeAssets: string
|
||||
): Promise<void> {
|
||||
core.info(`[INFO] prepare publishing assets`);
|
||||
const copyOpts = {recursive: true, force: true};
|
||||
const files = fs.readdirSync(publishDir);
|
||||
core.debug(`${files}`);
|
||||
for await (const file of files) {
|
||||
if (file.endsWith('.git') || file.endsWith('.github')) {
|
||||
if (file === '.git') {
|
||||
core.info(`[INFO] skip ${file}`);
|
||||
continue;
|
||||
}
|
||||
const filePath = path.join(publishDir, file);
|
||||
await io.cp(filePath, `${workDir}/`, copyOpts);
|
||||
const filePublishPath = path.join(publishDir, file);
|
||||
const fileDestPath = path.join(destDir, file);
|
||||
const destPath = path.dirname(fileDestPath);
|
||||
if (fs.existsSync(destPath) === false) {
|
||||
await createDir(destPath);
|
||||
}
|
||||
await io.cp(filePublishPath, fileDestPath, copyOpts);
|
||||
core.info(`[INFO] copy ${file}`);
|
||||
}
|
||||
|
||||
await deleteExcludedAssets(destDir, excludeAssets);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
export async function setRepo(
|
||||
inps: Inputs,
|
||||
remoteURL: string,
|
||||
workDir: string
|
||||
): Promise<void> {
|
||||
const publishDir = path.join(
|
||||
`${process.env.GITHUB_WORKSPACE}`,
|
||||
inps.PublishDir
|
||||
);
|
||||
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);
|
||||
}
|
||||
})();
|
||||
|
||||
core.info(`[INFO] ForceOrphan: ${inps.ForceOrphan}`);
|
||||
if (inps.ForceOrphan) {
|
||||
await createWorkDir(workDir);
|
||||
await createDir(destDir);
|
||||
process.chdir(workDir);
|
||||
await createBranchForce(inps.PublishBranch);
|
||||
await copyAssets(publishDir, workDir);
|
||||
await copyAssets(publishDir, destDir, inps.ExcludeAssets);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -66,39 +100,42 @@ export async function setRepo(
|
||||
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) {
|
||||
process.chdir(workDir);
|
||||
if (inps.KeepFiles) {
|
||||
core.info('[INFO] Keep existing files');
|
||||
await createDir(destDir);
|
||||
process.chdir(destDir);
|
||||
|
||||
if (inps.DestinationDir !== '') {
|
||||
if (inps.KeepFiles) {
|
||||
core.info('[INFO] Keep existing files');
|
||||
} else {
|
||||
core.info(`[INFO] clean up ${destDir}`);
|
||||
await exec.exec('git', ['rm', '-r', '--ignore-unmatch', '*']);
|
||||
}
|
||||
} else {
|
||||
await exec.exec('git', ['rm', '-r', '--ignore-unmatch', '*']);
|
||||
if (inps.KeepFiles) {
|
||||
core.info('[INFO] Keep existing files');
|
||||
} else {
|
||||
core.info(`[INFO] clean up ${destDir}`);
|
||||
await exec.exec('git', ['rm', '-r', '--ignore-unmatch', '*']);
|
||||
}
|
||||
}
|
||||
|
||||
await copyAssets(publishDir, workDir);
|
||||
await copyAssets(publishDir, destDir, inps.ExcludeAssets);
|
||||
process.chdir(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 createWorkDir(workDir);
|
||||
await createDir(destDir);
|
||||
process.chdir(workDir);
|
||||
await createBranchForce(inps.PublishBranch);
|
||||
await copyAssets(publishDir, workDir);
|
||||
await copyAssets(publishDir, destDir, inps.ExcludeAssets);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -119,10 +156,7 @@ 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');
|
||||
}
|
||||
@@ -133,26 +167,35 @@ export async function setCommitAuthor(
|
||||
await exec.exec('git', ['config', 'user.email', getUserEmail(userEmail)]);
|
||||
}
|
||||
|
||||
export async function commit(
|
||||
allowEmptyCommit: boolean,
|
||||
externalRepository: string,
|
||||
message: string
|
||||
): Promise<void> {
|
||||
let msg = '';
|
||||
if (message) {
|
||||
msg = message;
|
||||
} else {
|
||||
msg = 'deploy:';
|
||||
}
|
||||
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;
|
||||
}
|
||||
})();
|
||||
|
||||
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}`;
|
||||
}
|
||||
const subject = ((): string => {
|
||||
if (fullMsg) {
|
||||
return fullMsg;
|
||||
} else if (msg) {
|
||||
return `${msg} ${msgHash}`;
|
||||
} else {
|
||||
return `deploy: ${msgHash}`;
|
||||
}
|
||||
})();
|
||||
|
||||
return subject;
|
||||
}
|
||||
|
||||
export async function commit(allowEmptyCommit: boolean, msg: string): Promise<void> {
|
||||
try {
|
||||
if (allowEmptyCommit) {
|
||||
await exec.exec('git', ['commit', '--allow-empty', '-m', `${msg}`]);
|
||||
@@ -165,10 +208,7 @@ export async function commit(
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
@@ -176,10 +216,7 @@ export async function push(
|
||||
}
|
||||
}
|
||||
|
||||
export async function pushTag(
|
||||
tagName: string,
|
||||
tagMessage: string
|
||||
): Promise<void> {
|
||||
export async function pushTag(tagName: string, tagMessage: string): Promise<void> {
|
||||
if (tagName === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ export interface Inputs {
|
||||
readonly PersonalToken: string;
|
||||
readonly PublishBranch: string;
|
||||
readonly PublishDir: string;
|
||||
readonly DestinationDir: string;
|
||||
readonly ExternalRepository: string;
|
||||
readonly AllowEmptyCommit: boolean;
|
||||
readonly KeepFiles: boolean;
|
||||
@@ -11,10 +12,12 @@ export interface Inputs {
|
||||
readonly UserName: string;
|
||||
readonly UserEmail: string;
|
||||
readonly CommitMessage: string;
|
||||
readonly FullCommitMessage: string;
|
||||
readonly TagName: string;
|
||||
readonly TagMessage: string;
|
||||
readonly DisableNoJekyll: boolean;
|
||||
readonly CNAME: string;
|
||||
readonly ExcludeAssets: string;
|
||||
}
|
||||
|
||||
export interface CmdResult {
|
||||
|
||||
35
src/main.ts
35
src/main.ts
@@ -1,19 +1,24 @@
|
||||
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, commit, push, pushTag} from './git-utils';
|
||||
import {setRepo, setCommitAuthor, getCommitMessage, 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 eventName = context.eventName;
|
||||
@@ -27,25 +32,27 @@ export async function run(): Promise<void> {
|
||||
inps.PersonalToken
|
||||
);
|
||||
if (isSkipOnFork) {
|
||||
core.warning(
|
||||
'This action runs on a fork and not found auth token, Skip deployment'
|
||||
);
|
||||
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.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) {
|
||||
@@ -54,13 +61,25 @@ 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);
|
||||
await commit(
|
||||
inps.AllowEmptyCommit,
|
||||
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,
|
||||
inps.ExternalRepository,
|
||||
inps.CommitMessage
|
||||
baseRepo,
|
||||
hash
|
||||
);
|
||||
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');
|
||||
|
||||
|
||||
@@ -9,10 +9,7 @@ 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();
|
||||
@@ -47,6 +44,11 @@ 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']);
|
||||
@@ -73,35 +75,32 @@ export function setGithubToken(
|
||||
core.debug(`eventName: ${eventName}`);
|
||||
let isProhibitedBranch = false;
|
||||
|
||||
if (eventName === 'push') {
|
||||
isProhibitedBranch = ref.includes(`refs/heads/${publishBranch}`);
|
||||
if (isProhibitedBranch) {
|
||||
throw new Error(`You deploy from ${publishBranch} to ${publishBranch}`);
|
||||
}
|
||||
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 (externalRepository) {
|
||||
throw new Error(
|
||||
'GITHUB_TOKEN does not support to push to an external repository'
|
||||
);
|
||||
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
|
||||
`);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
13
src/utils.ts
13
src/utils.ts
@@ -23,9 +23,9 @@ export async function getWorkDirName(unixTime: string): Promise<string> {
|
||||
return workDirName;
|
||||
}
|
||||
|
||||
export async function createWorkDir(workDirName: string): Promise<void> {
|
||||
await io.mkdirP(workDirName);
|
||||
core.debug(`Created: ${workDirName}`);
|
||||
export async function createDir(dirPath: string): Promise<void> {
|
||||
await io.mkdirP(dirPath);
|
||||
core.debug(`Created directory ${dirPath}`);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -47,16 +47,13 @@ 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;
|
||||
}
|
||||
const filepath = path.join(workDir, 'CNAME');
|
||||
if (fs.existsSync(filepath)) {
|
||||
core.warning(`CNAME already exists, skip adding CNAME`);
|
||||
core.info(`CNAME already exists, skip adding CNAME`);
|
||||
return;
|
||||
}
|
||||
fs.writeFileSync(filepath, content + '\n');
|
||||
|
||||
Reference in New Issue
Block a user