]> git.lizzy.rs Git - rust.git/blobdiff - .github/workflows/deploy.yml
Auto merge of #9989 - xFrednet:9986-move-safety-thingy, r=flip1995
[rust.git] / .github / workflows / deploy.yml
index 6f79891358eb27197179c4d1bcd9426cf361416b..71d71d10359e7e76b4f2cbc1b8843247d266659c 100644 (file)
@@ -2,32 +2,61 @@ name: Deploy
 
 on:
   push:
-    branches: master
-  release:
-    types: [created]
+    branches:
+      - master
+      - beta
+    tags:
+      - rust-1.**
 
 env:
   TARGET_BRANCH: 'gh-pages'
   SHA: '${{ github.sha }}'
   SSH_REPO: 'git@github.com:${{ github.repository }}.git'
-  TAG_NAME: '${{ github.event.release.GITHUB_REF }}'
 
 jobs:
   deploy:
     runs-on: ubuntu-latest
+    if: github.repository == 'rust-lang/rust-clippy'
 
     steps:
     # Setup
     - name: Checkout
-      uses: actions/checkout@v2.0.0
+      uses: actions/checkout@v3.0.2
 
     - name: Checkout
-      uses: actions/checkout@v2.0.0
+      uses: actions/checkout@v3.0.2
       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)"