diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f0f00992..f18b604e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build and test CI +name: Build and test on: push jobs: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..891c4de1a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,60 @@ +name: Deploy +on: + push: + branches: + master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + + # https://github.com/actions/cache/blob/master/examples.md#node---yarn + - name: "Cache: Get yarn cache directory path" + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: "Cache: Set up yarn cache" + uses: actions/cache@v2 + id: yarn-cache + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + # https://github.com/actions/cache/blob/master/examples.md#ruby---bundler + - name: "Cache: Set up bundler cache" + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gems- + + - name: Use Node.js + uses: actions/setup-node@v1 + with: { node-version: '12.x' } + + - name: Use Ruby + uses: actions/setup-ruby@v1 + with: { ruby-version: '2.7.1' } + + - name: Setup dependencies + run: | + yarn --frozen-lockfile + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + + - run: yarn build + + - name: Deploy to gh-pages + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: _site