Switch from Travis to GHA (#1073)
This commit is contained in:
parent
4163ac0d6a
commit
6dab96d7ea
|
|
@ -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
|
||||||
39
.travis.yml
39
.travis.yml
|
|
@ -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
|
|
||||||
|
|
@ -3,22 +3,22 @@
|
||||||
set -e
|
set -e
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
# https://docs.travis-ci.com/user/environment-variables/#default-environment-variables
|
# https://docs.github.com/en/actions/reference/environment-variables
|
||||||
if [ "$TRAVIS_EVENT_TYPE" = "cron" ] ; then # running in cron job
|
if [ "$GITHUB_EVENT_NAME" = "schedule" ] ; then # running in scheduled job
|
||||||
FLAGS=""
|
FLAGS=""
|
||||||
|
|
||||||
echo "Doing full link check."
|
echo "Doing full link check."
|
||||||
set -x
|
set -x
|
||||||
elif [ "$CI" = "true" ] ; then # running in PR CI build
|
elif [ "$CI" = "true" ] ; then # running in PR CI build
|
||||||
if [ -z "$TRAVIS_COMMIT_RANGE" ]; then
|
if [ -z "$BASE_SHA" ]; then
|
||||||
echo "error: unexpected state: TRAVIS_COMMIT_RANGE must be non-empty in CI"
|
echo "error: unexpected state: BASE_SHA must be non-empty in CI"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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"
|
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
|
set -x
|
||||||
else # running locally
|
else # running locally
|
||||||
COMMIT_RANGE=master...
|
COMMIT_RANGE=master...
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue