about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2021-03-11 01:51:56 +0900
committerGitHub <noreply@github.com>2021-03-10 11:51:56 -0500
commite33049fc64dd5fd87a9c5190326ceee5f3ef1fb0 (patch)
tree81d0d994e15b036547444834974d073561f86c64 /src/doc/rustc-dev-guide
parent1d6e82fe0a0c39b0d6d904439feace9fee4360d6 (diff)
downloadrust-e33049fc64dd5fd87a9c5190326ceee5f3ef1fb0.tar.gz
rust-e33049fc64dd5fd87a9c5190326ceee5f3ef1fb0.zip
Switch from Travis to GHA (#1073)
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/.github/workflows/ci.yml77
-rw-r--r--src/doc/rustc-dev-guide/.travis.yml39
-rwxr-xr-xsrc/doc/rustc-dev-guide/ci/linkcheck.sh12
3 files changed, 83 insertions, 45 deletions
diff --git a/src/doc/rustc-dev-guide/.github/workflows/ci.yml b/src/doc/rustc-dev-guide/.github/workflows/ci.yml
new file mode 100644
index 00000000000..c3307bb74d0
--- /dev/null
+++ b/src/doc/rustc-dev-guide/.github/workflows/ci.yml
@@ -0,0 +1,77 @@
+name: CI
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+  schedule:
+    # Run at 18:00 UTC every day
+    - cron: '0 18 * * *'
+
+jobs:
+  ci:
+    runs-on: ubuntu-latest
+    env:
+      MDBOOK_VERSION: 0.4.7
+      MDBOOK_LINKCHECK_VERSION: 0.7.2
+      MDBOOK_TOC_VERSION: 0.6.1
+      DEPLOY_DIR: book/html
+      BASE_SHA: ${{ github.event.pull_request.base.sha }}
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          # linkcheck needs the base commit.
+          fetch-depth: 0
+
+      - name: Cache binaries
+        id: mdbook-cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.cargo/bin
+          key: ${{ runner.os }}-${{ env.MDBOOK_VERSION }}--${{ env.MDBOOK_LINKCHECK_VERSION }}--${{ env.MDBOOK_TOC_VERSION }}
+
+      - name: Cache linkcheck
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/book/linkcheck
+          key: ${{ runner.os }}-${{ hashFiles('./book/linkcheck') }}
+
+      - name: Check line lengths
+        if: github.event_name != 'push'
+        run: |
+          shopt -s globstar
+          MAX_LINE_LENGTH=100 bash ci/check_line_lengths.sh src/**/*.md
+
+      - name: Install latest nightly Rust toolchain
+        if: steps.mdbook-cache.outputs.cache-hit != 'true'
+        uses: actions-rs/toolchain@v1
+        with:
+            toolchain: nightly
+            override: true
+
+      - name: Install Dependencies
+        if: steps.mdbook-cache.outputs.cache-hit != 'true'
+        run: |
+          cargo install mdbook --version ${{ env.MDBOOK_VERSION }}
+          cargo install mdbook-linkcheck --version ${{ env.MDBOOK_LINKCHECK_VERSION }}
+          cargo install mdbook-toc --version ${{ env.MDBOOK_TOC_VERSION }}
+
+      - name: Check build
+        run: mdbook build
+
+      - name: Deploy to gh-pages
+        if: github.event_name == 'push' && github.repository == 'rust-lang/rustc-dev-guide'
+        run: |
+          touch "${{ env.DEPLOY_DIR }}/.nojekyll"
+          cp CNAME "${{ env.DEPLOY_DIR }}"
+          cd "${{ env.DEPLOY_DIR }}"
+          rm -rf .git
+          git init
+          git config user.name "Deploy from CI"
+          git config user.email ""
+          git add .
+          git commit -m "Deploy ${GITHUB_SHA} to gh-pages"
+          git push --quiet -f "https://x-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}" HEAD:gh-pages
diff --git a/src/doc/rustc-dev-guide/.travis.yml b/src/doc/rustc-dev-guide/.travis.yml
deleted file mode 100644
index 1d67472583c..00000000000
--- a/src/doc/rustc-dev-guide/.travis.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-language: rust
-dist: bionic
-rust:
-- nightly
-cache:
-- cargo
-- directories:
-  - book/linkcheck/
-before_install:
-- shopt -s globstar
-- MAX_LINE_LENGTH=100 bash ci/check_line_lengths.sh src/**/*.md
-install:
-- source ~/.cargo/env || true
-- cargo install mdbook --version '^0.4.5'
-- cargo install mdbook-linkcheck --version '^0.7.2'
-- cargo install mdbook-toc --version '^0.6.1'
-script:
-- git checkout -b ci
-- git rebase origin/master
-- git log --oneline | head -n 10
-- mdbook build
-notifications:
-  email: false
-env:
-  global:
-    secure: YQX/AWq5KsvAFYqcCK6c1DmOZX9EMrecBM5qnc4uE2HvEBS+x0l8xatI2Nv8U9eiasZYfsqmHn0ANvxu6e4oqL15m4cVsdliCzdkrPsDapxTnwwJvMQg+yHZiEd5BPlaDQt/wYvP8QBXgQsXoAJKrfAS+BFsowBFHt/LOFOunbAQrtQZqwqrnI6+xh+2TRMckws/VcTLRqwl3pyEyfacJhbbv1V3gJh7Y17hELsgsP7+7cMXT0bK6dtf7a9vne9Hsm5fw7VeMKBn1/dJ82fyEK6HHjkjdw1/OoY35YVyNZ/9ZxP2u1ClEXzCRJQ2CvKr8Tuoh/AuoL0pwrfhOTaOuWU0QZT4QBqjTimsgBLqiJicMiSndgsXinLWvlDqrMS1XfleqCKqAQy9AJTCR1LnwR90/HRxfE5YDAL/mbc0Su4jj+l5Zv3UE8vUqFE34E/jzip17JkDT5aMkl4bgW65lqJE7SLWl7gXT7eYbPEtQZoucR1hkSsBu/4YTvcxSlD98spWZ68mWwYyjLJSQDES+GefUnHJ/RbBVl9pW+sL7jXJ+kZ/NBCtCIgrkGchudEMDEvS6rcOzwCejxqL1of0jYHGopkBXSVHOPneWIdNeKXwBZA9hp0yKh0sWwrKHrA3wYhS/kF9uO19l/RnSTXAfApYR/yJUbYliuMJYCgNeKE=
-deploy:
-  provider: pages
-  skip-cleanup: true
-  github-token: $GITHUB_TOKEN
-  local-dir: book/html
-  fqdn: rustc-dev-guide.rust-lang.org
-  on:
-    branch: master
-
-# Only build master branch on push
-branches:
-  only:
-  - master
diff --git a/src/doc/rustc-dev-guide/ci/linkcheck.sh b/src/doc/rustc-dev-guide/ci/linkcheck.sh
index d329a71642e..3d70432f5cf 100755
--- a/src/doc/rustc-dev-guide/ci/linkcheck.sh
+++ b/src/doc/rustc-dev-guide/ci/linkcheck.sh
@@ -3,22 +3,22 @@
 set -e
 set -o pipefail
 
-# https://docs.travis-ci.com/user/environment-variables/#default-environment-variables
-if [ "$TRAVIS_EVENT_TYPE" = "cron" ] ; then # running in cron job
+# https://docs.github.com/en/actions/reference/environment-variables
+if [ "$GITHUB_EVENT_NAME" = "schedule" ] ; then # running in scheduled job
   FLAGS=""
 
   echo "Doing full link check."
   set -x
 elif [ "$CI" = "true" ] ; then # running in PR CI build
-  if [ -z "$TRAVIS_COMMIT_RANGE" ]; then
-    echo "error: unexpected state: TRAVIS_COMMIT_RANGE must be non-empty in CI"
+  if [ -z "$BASE_SHA" ]; then
+    echo "error: unexpected state: BASE_SHA must be non-empty in CI"
     exit 1
   fi
 
-  CHANGED_FILES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | tr '\n' ' ')
+  CHANGED_FILES=$(git diff --name-only $BASE_SHA... | tr '\n' ' ')
   FLAGS="--no-cache -f $CHANGED_FILES"
 
-  echo "Checking files changed in $TRAVIS_COMMIT_RANGE: $CHANGED_FILES"
+  echo "Checking files changed since $BASE_SHA: $CHANGED_FILES"
   set -x
 else # running locally
   COMMIT_RANGE=master...