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 -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...
|
||||
|
|
|
|||
Loading…
Reference in New Issue