6c5d199d57
This updates all the deploy scripts and the deploy workflow. The deploy workflow now runs the metadata collector to collect the lint documentation. It also changes the files that are checked out in the deploy workflow from master and adds an explanation why we have to do this.
65 lines
1.6 KiB
YAML
65 lines
1.6 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- beta
|
|
tags:
|
|
- rust-1.**
|
|
|
|
env:
|
|
TARGET_BRANCH: 'gh-pages'
|
|
SHA: '${{ github.sha }}'
|
|
SSH_REPO: 'git@github.com:${{ github.repository }}.git'
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'rust-lang/rust-clippy'
|
|
|
|
steps:
|
|
# Setup
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.3
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v2.3.3
|
|
with:
|
|
ref: ${{ env.TARGET_BRANCH }}
|
|
path: 'out'
|
|
|
|
# Run
|
|
- name: Set tag name
|
|
if: startswith(github.ref, 'refs/tags/')
|
|
run: |
|
|
TAG=$(basename ${{ github.ref }})
|
|
echo "TAG_NAME=$TAG" >> $GITHUB_ENV
|
|
- name: Set beta to true
|
|
if: github.ref == 'refs/heads/beta'
|
|
run: echo "BETA=true" >> $GITHUB_ENV
|
|
|
|
# We need to check out all files that (transitively) depend on the
|
|
# structure of the gh-pages branch, so that we're able to change that
|
|
# structure without breaking the deployment.
|
|
- name: Use deploy files from master branch
|
|
run: |
|
|
git fetch --no-tags --prune --depth=1 origin master
|
|
git checkout origin/master -- .github/deploy.sh util/versions.py util/gh-pages/versions.html
|
|
|
|
# Generate lockfile for caching to avoid build problems with cached deps
|
|
- name: cargo generate-lockfile
|
|
run: cargo generate-lockfile
|
|
|
|
- name: Cache
|
|
uses: Swatinem/rust-cache@v1.3.0
|
|
|
|
- name: cargo collect-metadata
|
|
run: cargo collect-metadata
|
|
|
|
- name: Deploy
|
|
run: |
|
|
eval "$(ssh-agent -s)"
|
|
ssh-add - <<< "${{ secrets.DEPLOY_KEY }}"
|
|
bash .github/deploy.sh
|