feat(ci): switch from travis to github actions
parent
0f73884d17
commit
ad8806de5d
|
@ -0,0 +1,20 @@
|
||||||
|
name: GitHub Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: ${{ github.ref }}
|
||||||
|
draft: true
|
||||||
|
prerelease: false
|
|
@ -0,0 +1,12 @@
|
||||||
|
name: Code Linting
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
- run: npm install
|
||||||
|
- run: npm run lint
|
|
@ -0,0 +1,18 @@
|
||||||
|
name: Node.js Package
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
- run: npm publish
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@ -0,0 +1,33 @@
|
||||||
|
name: Test
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [10, latest]
|
||||||
|
fail-fast: false
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: hexojs/hexo-starter
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: npm-cache
|
||||||
|
restore-keys: npm-cache
|
||||||
|
- run: npm install
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: themes/icarus
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: SukkaLab/hexo-many-posts
|
||||||
|
path: source/_posts/hexo-many-posts
|
||||||
|
- run: npx hexo config theme next
|
||||||
|
- run: time npx hexo g
|
|
@ -0,0 +1,5 @@
|
||||||
|
.github/
|
||||||
|
.eslintignore
|
||||||
|
.eslintrc.json
|
||||||
|
.travis.yml
|
||||||
|
yarn.lock
|
52
.travis.yml
52
.travis.yml
|
@ -1,52 +0,0 @@
|
||||||
language: node_js
|
|
||||||
|
|
||||||
os: linux
|
|
||||||
|
|
||||||
cache: false
|
|
||||||
|
|
||||||
node_js:
|
|
||||||
- "10"
|
|
||||||
- "12"
|
|
||||||
- "node"
|
|
||||||
|
|
||||||
script:
|
|
||||||
- echo "Running tests against $(node -v) ..."
|
|
||||||
- export DEPS=$(node -e "const deps=require('./package.json').peerDependencies;console.log(Object.keys(deps).map(key=>key+'@'+deps[key]).join(' '));")
|
|
||||||
- npm install $DEPS
|
|
||||||
- npm run lint
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
include:
|
|
||||||
- stage: github pages
|
|
||||||
node_js: "10"
|
|
||||||
git:
|
|
||||||
clone: false
|
|
||||||
script:
|
|
||||||
- echo "Publish site to github pages ..."
|
|
||||||
- git clone --recurse-submodules https://github.com/ppoffice/hexo-theme-icarus.git -b site $TRAVIS_BUILD_DIR
|
|
||||||
- cd $TRAVIS_BUILD_DIR/themes/icarus
|
|
||||||
- git fetch origin $TRAVIS_COMMIT && git merge $TRAVIS_COMMIT
|
|
||||||
- export DEPS=$(node -e "const deps=require('./package.json').peerDependencies;console.log(Object.keys(deps).map(key=>key+'@'+deps[key]).join(' '));")
|
|
||||||
- cd $TRAVIS_BUILD_DIR
|
|
||||||
- npm install -g hexo-cli
|
|
||||||
- npm install
|
|
||||||
- npm install $DEPS
|
|
||||||
- hexo g
|
|
||||||
deploy:
|
|
||||||
provider: pages
|
|
||||||
token: $GITHUB_TOKEN
|
|
||||||
keep_history: false
|
|
||||||
local_dir: public
|
|
||||||
skip_cleanup: true
|
|
||||||
on:
|
|
||||||
tags: true
|
|
||||||
|
|
||||||
- stage: github release
|
|
||||||
node_js: "10"
|
|
||||||
script: echo "Deploying to github release ..."
|
|
||||||
skip_cleanup: false
|
|
||||||
deploy:
|
|
||||||
provider: releases
|
|
||||||
token: $GITHUB_TOKEN
|
|
||||||
on:
|
|
||||||
tags: true
|
|
17
package.json
17
package.json
|
@ -1,13 +1,22 @@
|
||||||
{
|
{
|
||||||
"name": "hexo-theme-icarus",
|
"name": "hexo-theme-icarus",
|
||||||
"version": "4.0.0-rc.1",
|
"version": "4.0.0-rc.1",
|
||||||
|
"author": "ppoffice <ppoffice@users.noreply.github.com>",
|
||||||
|
"license": "MIT",
|
||||||
|
"description": "A simple, delicate, and modern theme for Hexo",
|
||||||
|
"keywords": [
|
||||||
|
"hexo",
|
||||||
|
"theme",
|
||||||
|
"icarus"
|
||||||
|
],
|
||||||
|
"homepage": "https://github.com/ppoffice/hexo-theme-icarus",
|
||||||
|
"repository": "https://github.com/ppoffice/hexo-theme-icarus.git",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/ppoffice/hexo-theme-icarus/issues"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.13.0"
|
"node": ">=10.13.0"
|
||||||
},
|
},
|
||||||
"description": "A simple, delicate, and modern theme for Hexo",
|
|
||||||
"repository": "https://github.com/ppoffice/hexo-theme-icarus.git",
|
|
||||||
"author": "ppoffice <ppoffice@users.noreply.github.com>",
|
|
||||||
"license": "MIT",
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "eslint --ext .js --ext .jsx --ext .json ."
|
"lint": "eslint --ext .js --ext .jsx --ext .json ."
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue