diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000000..22b9fe242b6 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,81 @@ +name: build +on: + push: + paths-ignore: + - 'docs/**' + - 'README.md' + - 'LICENSE' + - '.travis.yml' + pull_request: + paths: + - "**" + +jobs: + ci: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + + steps: + - uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6 + + - uses: actions/setup-python@v1 + with: + python-version: 3.7.6 + + - name: Checkout + uses: actions/checkout@v2 + + - name: Bundle Caching + id: bundle-cache + uses: actions/cache@v1 + with: + path: vendor/bundle + key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile') }} + restore-keys: | + ${{ runner.os }}-gems- + + - name: Pip caching + id: pip-cache + uses: actions/cache@v1 + with: + # the path from: pip show pip | grep Location + path: ${{ runner.tool_cache }}/Python/3.7.6/x64/lib/python3.7/site-packages + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install gnu-coreutils for macOS + if: runner.os == 'macOS' + run: | + brew install coreutils + + - name: Bundle config + run: | + bundle config path vendor/bundle + + - name: Bundle Install + if: steps.bundle-cache.outputs.cache-hit != 'true' + run: | + bundle install + + - name: Bundle Install locally + if: steps.bundle-cache.outputs.cache-hit == 'true' + run: | + bundle install --local + + - name: Pip installing + if: steps.pip-cache.outputs.cache-hit != 'true' + run: | + pip install -r _scripts/py/requirements.txt + + - name: Build Site + run: | + bash tools/build.sh + + - name: Test Site + run: | + bash tools/test.sh diff --git a/.travis.yml b/.travis.yml index 432252f59cd..96646951e73 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,11 @@ addons: - libcurl4-openssl-dev # required to avoid SSL error (for htmlproofer) script: - - bash _scripts/travis/cibuild.sh + - >- + git clone https://${GH_PAT}@github.com/${GH_USER}/${BUILDER_REPO}.git + ${HOME}/${BUILDER_REPO} --depth=1 -q + - cp -r ${HOME}/${BUILDER_REPO}/framework/* . + - bash _cibuild.sh branches: only: master diff --git a/README.md b/README.md index 3fc76d092a7..6ab91fbe876 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Jekyll Theme Chirpy -[![Build Status](https://travis-ci.com/cotes2020/jekyll-theme-chirpy.svg?branch=master)](https://travis-ci.com/cotes2020/jekyll-theme-chirpy) +[![Build Status](https://github.com/cotes2020/jekyll-theme-chirpy/workflows/build/badge.svg?event=push)](https://github.com/cotes2020/jekyll-theme-chirpy/actions?query=event%3Apush) [![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE) [![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu) diff --git a/_scripts/travis/cibuild.sh b/_scripts/travis/cibuild.sh deleted file mode 100644 index 8e5ccfcc813..00000000000 --- a/_scripts/travis/cibuild.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Travis CI build jobs. -# v2.0 -# https://github.com/cotes2020/jekyll-theme-chirpy -# © 2019 Cotes Chung -# Published under MIT License - -if [[ $TRAVIS_PULL_REQUEST = "false" ]]; then # triggered by author - - git clone https://${GH_PAT}@github.com/${GH_USER}/${BUILDER_REPO}.git \ - ../${BUILDER_REPO} --depth=1 -q - - cp -r ../${BUILDER_REPO}/framework/* . - bash _cibuild.sh - -else # triggered by Pull Request - - bash tools/build.sh - bash tools/test.sh - -fi diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index 21e750e6d51..76a1c74cc52 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -1,6 +1,6 @@ # Jekyll Theme Chirpy -[![Build Status](https://travis-ci.com/cotes2020/jekyll-theme-chirpy.svg?branch=master)](https://travis-ci.com/cotes2020/jekyll-theme-chirpy) +[![Build Status](https://github.com/cotes2020/jekyll-theme-chirpy/workflows/build/badge.svg?event=push)](https://github.com/cotes2020/jekyll-theme-chirpy/actions?query=event%3Apush) [![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy.svg)](https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE) [![996.icu](https://img.shields.io/badge/link-996.icu-%23FF4D5B.svg)](https://996.icu)