about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/.github/workflows
diff options
context:
space:
mode:
authorLaurențiu Nicola <lnicola@dend.ro>2023-02-13 13:55:14 +0200
committerLaurențiu Nicola <lnicola@dend.ro>2023-02-13 13:55:14 +0200
commitc4a2f065854f85fcee397d0b9e8e535e6770e1da (patch)
tree8c1bd3d231f9cc21a955d7a2a31551a279fd49fa /src/tools/rust-analyzer/.github/workflows
parent20081880ad2a98bbc8c8293f96c5b284d1584d86 (diff)
parentc97aae38f20f64daede9877212aff83c259a4faa (diff)
downloadrust-c4a2f065854f85fcee397d0b9e8e535e6770e1da.tar.gz
rust-c4a2f065854f85fcee397d0b9e8e535e6770e1da.zip
:arrow_up: rust-analyzer
Diffstat (limited to 'src/tools/rust-analyzer/.github/workflows')
-rw-r--r--src/tools/rust-analyzer/.github/workflows/autopublish.yaml (renamed from src/tools/rust-analyzer/.github/workflows/publish.yml)4
-rw-r--r--src/tools/rust-analyzer/.github/workflows/fuzz.yml43
-rw-r--r--src/tools/rust-analyzer/.github/workflows/publish-libs.yaml35
-rw-r--r--src/tools/rust-analyzer/.github/workflows/release.yaml7
4 files changed, 87 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/.github/workflows/publish.yml b/src/tools/rust-analyzer/.github/workflows/autopublish.yaml
index 73e62ab32c6..279f86b458d 100644
--- a/src/tools/rust-analyzer/.github/workflows/publish.yml
+++ b/src/tools/rust-analyzer/.github/workflows/autopublish.yaml
@@ -1,4 +1,4 @@
-name: publish
+name: autopublish
 on:
   workflow_dispatch: # We can add version input when 1.0 is released and scheduled releases are removed
 
@@ -25,7 +25,7 @@ jobs:
       - name: Install cargo-workspaces
         run: cargo install cargo-workspaces
 
-      - name: Release
+      - name: Publish Crates
         env:
           CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
           PATCH: ${{ github.run_number }}
diff --git a/src/tools/rust-analyzer/.github/workflows/fuzz.yml b/src/tools/rust-analyzer/.github/workflows/fuzz.yml
new file mode 100644
index 00000000000..5af8aa1f77a
--- /dev/null
+++ b/src/tools/rust-analyzer/.github/workflows/fuzz.yml
@@ -0,0 +1,43 @@
+name: Fuzz
+on:
+  schedule:
+    # Once a week
+    - cron: '0 0 * * 0'
+  push:
+    paths:
+    - '.github/workflows/fuzz.yml'
+  # Allow manual trigger
+  workflow_dispatch:
+
+env:
+  CARGO_INCREMENTAL: 0
+  CARGO_NET_RETRY: 10
+  CI: 1
+  RUST_BACKTRACE: short
+  RUSTFLAGS: "-D warnings -W unreachable-pub -W bare-trait-objects"
+  RUSTUP_MAX_RETRIES: 10
+
+jobs:
+  rust:
+    if: ${{ github.repository == 'rust-lang/rust-analyzer' || github.event.action == 'workflow_dispatch' }}
+    name: Rust
+    runs-on: ubuntu-latest
+    env:
+      CC: deny_c
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+          fetch-depth: 1
+
+      - name: Install Rust toolchain
+        run: |
+          rustup install --profile minimal nightly
+
+      - name: Build fuzzers
+        run: |
+          cargo install cargo-fuzz
+          cd crates/syntax
+          cargo +nightly fuzz build
diff --git a/src/tools/rust-analyzer/.github/workflows/publish-libs.yaml b/src/tools/rust-analyzer/.github/workflows/publish-libs.yaml
new file mode 100644
index 00000000000..1b843fff1a4
--- /dev/null
+++ b/src/tools/rust-analyzer/.github/workflows/publish-libs.yaml
@@ -0,0 +1,35 @@
+name: publish-libs
+on:
+  workflow_dispatch:
+  push:
+    branches:
+      - main
+    paths:
+      - 'lib/**'
+
+jobs:
+  publish-libs:
+    name: publish
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+
+      - name: Install Rust toolchain
+        run: rustup update --no-self-update stable
+
+      - name: Install cargo-workspaces
+        run: cargo install cargo-workspaces
+
+      - name: Publish Crates
+        env:
+          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
+        shell: bash
+        run: |
+          git config --global user.email "runner@gha.local"
+          git config --global user.name "Github Action"
+          # Remove r-a crates from the workspaces so we don't auto-publish them as well
+          sed -i 's/ "crates\/\*"//' ./Cargo.toml
+          cargo workspaces publish --yes --exact --from-git --no-git-commit --allow-dirty
diff --git a/src/tools/rust-analyzer/.github/workflows/release.yaml b/src/tools/rust-analyzer/.github/workflows/release.yaml
index b070dd3406f..48f4c6b55ed 100644
--- a/src/tools/rust-analyzer/.github/workflows/release.yaml
+++ b/src/tools/rust-analyzer/.github/workflows/release.yaml
@@ -29,6 +29,9 @@ jobs:
             target: x86_64-pc-windows-msvc
             code-target: win32-x64
           - os: windows-latest
+            target: i686-pc-windows-msvc
+            code-target: win32-ia32
+          - os: windows-latest
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
           - os: ubuntu-20.04
@@ -232,6 +235,10 @@ jobs:
           path: dist
       - uses: actions/download-artifact@v1
         with:
+          name: dist-i686-pc-windows-msvc
+          path: dist
+      - uses: actions/download-artifact@v1
+        with:
           name: dist-aarch64-pc-windows-msvc
           path: dist
       - run: ls -al ./dist