Browse Source

Use github workflows instead of travis

zhixin 3 years ago
parent
commit
65fe421ab7
7 changed files with 6408 additions and 131 deletions
  1. 1 1
      .github/workflows/deploy.yml
  2. 31 0
      .github/workflows/test.yml
  3. 1 1
      .gitignore
  4. 0 51
      .travis.yml
  5. 0 78
      deploy.sh
  6. BIN
      deploy_key.enc
  7. 6375 0
      yarn.lock

+ 1 - 1
.github/workflows/deploy.yml

@@ -20,7 +20,7 @@ jobs:
       - name: Build theme with node
         run: |
           cd ${{ github.workspace }}/site/_themes
-          yarn
+          yarn install --frozen-lockfile
           yarn build
           mv dist/js ../assets/js/themes
           cd ../assets/js/themes

+ 31 - 0
.github/workflows/test.yml

@@ -0,0 +1,31 @@
+name: Test
+
+on:
+  pull_request:
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: actions/setup-node@v3
+        with:
+          node-version: 16
+          cache: 'yarn'
+
+      - uses: actions/checkout@v3
+        with:
+          repository: 'wenzhixin/bootstrap-table-examples'
+          path: './tools/bootstrap-table-examples'
+
+      - name: Lint src and check docs
+        run: |
+          yarn install --frozen-lockfile
+          yarn pre-commit
+
+      - name: Cypress Test
+        run: |
+          mv ./tools/bootstrap-table-examples cypress/html
+          yarn css:build:src
+          yarn test

+ 1 - 1
.gitignore

@@ -21,8 +21,8 @@ check.js
 # Common IDE files
 nbproject
 .~lock.*
+Gemfile.lock
 package-lock.json
-*.lock
 .buildpath
 .idea
 .project

+ 0 - 51
.travis.yml

@@ -1,51 +0,0 @@
-stages:
-  - test
-  - deploy
-
-jobs:
-  include:
-    - stage: test
-      language: node_js
-      node_js:
-        - 14
-      name: "Lint src and check docs"
-      cache:
-        npm: true
-        directories:
-          - ~/.cache
-      script:
-        - cd tools
-        - git clone --depth=1 https://github.com/wenzhixin/bootstrap-table-examples
-        - npm run pre-commit
-      if: branch != master AND type = pull_request
-
-    - stage: test
-      language: node_js
-      node_js:
-        - 14
-      name: "Cypress Test"
-      cache:
-        npm: true
-        directories:
-          - ~/.cache
-      script:
-        - git clone --depth=1 https://github.com/wenzhixin/bootstrap-table-examples cypress/html
-        - npm run css:build:src
-        - npm run test
-      if: branch != master AND type = pull_request
-
-    - stage: deploy
-      name: "Deploy docs"
-      language: ruby
-      rvm:
-        - 2.4.1
-      before_install:
-        - nvm install 14
-      script: ./deploy.sh
-      if: branch = master AND type = push
-      cache: bundler
-
-env:
-  global:
-  - ENCRYPTION_LABEL: "5453d0fdf68a"
-  - COMMIT_AUTHOR_EMAIL: "wenzhixin2010@gmail.com"

+ 0 - 78
deploy.sh

@@ -1,78 +0,0 @@
-#!/bin/bash
-set -e # Exit with nonzero exit code if anything fails
-
-SOURCE_BRANCH="master"
-TARGET_BRANCH="gh-pages"
-
-function doCompile {
-    cd site/_themes
-    yarn
-    yarn build
-    mv dist/js ../assets/js/themes
-    cd ../assets/js/themes
-    FILE=../../../_includes/themes.html
-    echo "" > $FILE
-    for f in *.js; do
-        echo "<script src=/assets/js/themes/$f></script>" >> $FILE
-    done
-    cd ../../../../
-    bundle exec jekyll build
-}
-
-# Pull requests and commits to other branches shouldn't try to deploy, just build to verify
-if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
-    echo "Skipping deploy; just doing a build."
-    doCompile
-    exit 0
-fi
-
-# Save some useful information
-REPO=`git config remote.origin.url`
-SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
-SHA=`git rev-parse --verify HEAD`
-OUT=_gh_pages
-
-# Clone the existing gh-pages for this repo into dist/
-# Create a new empty branch if gh-pages doesn't exist yet (should only happen on first deply)
-git clone $REPO $OUT
-cd $OUT
-git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH
-
-# Clean out existing contents except versions
-mv versions ..
-ls | xargs rm -rf
-cd ..
-
-# Run our compile script
-doCompile
-
-mv versions $OUT
-
-# Now let's go have some fun with the cloned repo
-cd $OUT
-git config user.name "Travis CI"
-git config user.email "$COMMIT_AUTHOR_EMAIL"
-
-# If there are no changes to the compiled dist (e.g. this is a README update) then just bail.
-if git diff --quiet; then
-    echo "No changes to the output on this push; exiting."
-    exit 0
-fi
-
-# Commit the "changes", i.e. the new version.
-# The delta will show diffs between new and old versions.
-git add -A .
-git commit -m "Deploy to GitHub Pages: ${SHA}"
-
-# Get the deploy key by using Travis's stored variables to decrypt deploy_key.enc
-ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
-ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv"
-ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR}
-ENCRYPTED_IV=${!ENCRYPTED_IV_VAR}
-openssl aes-256-cbc -K $ENCRYPTED_KEY -iv $ENCRYPTED_IV -in ../deploy_key.enc -out ../deploy_key -d
-chmod 600 ../deploy_key
-eval `ssh-agent -s`
-ssh-add ../deploy_key
-
-# Now that we're all set up, we can push.
-git push $SSH_REPO $TARGET_BRANCH

BIN
deploy_key.enc


File diff suppressed because it is too large
+ 6375 - 0
yarn.lock