cache the release archive in release actions (#1201)

diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 1c94935..715df0c 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -125,6 +125,12 @@
           CARGO_BAZEL_GENERATOR_URL: file://${{ github.workspace }}/crate_universe/target/artifacts/x86_64-unknown-linux-gnu/cargo-bazel
           ARTIFACTS_DIR: ${{ github.workspace }}/crate_universe/target/artifacts
           URL_PREFIX: https://github.com/${{ github.repository_owner }}/rules_rust/releases/download/${{ env.RELEASE_VERSION }}
+      # Upload the artifact in case creating a release fails so all artifacts can then be manually recovered.
+      - uses: actions/upload-artifact@v2
+        with:
+          name: "rules_rust.tar.gz"
+          path: ${{ github.workspace }}/.github/rules_rust.tar.gz
+          if-no-files-found: error
       - name: Generate release notes
         run: |
           # Generate the release notes