aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/release.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yaml')
-rw-r--r--.github/workflows/release.yaml114
1 files changed, 96 insertions, 18 deletions
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 919d58925..09752b817 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -15,12 +15,9 @@ env:
15 RUSTUP_MAX_RETRIES: 10 15 RUSTUP_MAX_RETRIES: 10
16 16
17jobs: 17jobs:
18 dist: 18 dist-windows:
19 name: dist 19 name: dist (Windows)
20 runs-on: ${{ matrix.os }} 20 runs-on: windows-latest
21 strategy:
22 matrix:
23 os: [ubuntu-16.04, windows-latest, macos-latest]
24 21
25 steps: 22 steps:
26 - name: Checkout repository 23 - name: Checkout repository
@@ -30,8 +27,7 @@ jobs:
30 # which takes a long time. The fastest way to do this is to rename the 27 # which takes a long time. The fastest way to do this is to rename the
31 # existing folder, as deleting it takes about as much time as not doing 28 # existing folder, as deleting it takes about as much time as not doing
32 # anything and just updating rust-docs. 29 # anything and just updating rust-docs.
33 - name: Rename existing rust toolchain (Windows) 30 - name: Rename existing rust toolchain
34 if: matrix.os == 'windows-latest'
35 run: Rename-Item C:\Users\runneradmin\.rustup\toolchains\stable-x86_64-pc-windows-msvc C:\Users\runneradmin\.rustup\toolchains\stable-x86_64-pc-windows-msvc.old 31 run: Rename-Item C:\Users\runneradmin\.rustup\toolchains\stable-x86_64-pc-windows-msvc C:\Users\runneradmin\.rustup\toolchains\stable-x86_64-pc-windows-msvc.old
36 32
37 - name: Install Rust toolchain 33 - name: Install Rust toolchain
@@ -41,38 +37,116 @@ jobs:
41 profile: minimal 37 profile: minimal
42 override: true 38 override: true
43 39
40 - name: Dist
41 run: cargo xtask dist
42 env:
43 RA_TARGET: x86_64-pc-windows-msvc
44
45 - name: Upload artifacts
46 uses: actions/upload-artifact@v1
47 with:
48 name: dist-windows-latest
49 path: ./dist
50
51 dist-ubuntu:
52 name: dist (Ubuntu 16.04)
53 runs-on: ubuntu-16.04
54
55 steps:
56 - name: Checkout repository
57 uses: actions/checkout@v2
58
59 - name: Install Rust toolchain
60 uses: actions-rs/toolchain@v1
61 with:
62 toolchain: stable
63 profile: minimal
64 override: true
65
44 - name: Install Nodejs 66 - name: Install Nodejs
45 if: matrix.os == 'ubuntu-16.04'
46 uses: actions/setup-node@v1 67 uses: actions/setup-node@v1
47 with: 68 with:
48 node-version: 12.x 69 node-version: 12.x
49 70
50 - name: Dist 71 - name: Dist
51 if: matrix.os == 'ubuntu-16.04' && github.ref == 'refs/heads/release' 72 if: github.ref == 'refs/heads/release'
52 run: cargo xtask dist --client 0.2.$GITHUB_RUN_NUMBER 73 run: cargo xtask dist --client 0.2.$GITHUB_RUN_NUMBER
74 env:
75 RA_TARGET: x86_64-unknown-linux-gnu
53 76
54 - name: Dist 77 - name: Dist
55 if: matrix.os == 'ubuntu-16.04' && github.ref != 'refs/heads/release' 78 if: github.ref != 'refs/heads/release'
56 run: cargo xtask dist --nightly --client 0.3.$GITHUB_RUN_NUMBER-nightly 79 run: cargo xtask dist --nightly --client 0.3.$GITHUB_RUN_NUMBER-nightly
80 env:
81 RA_TARGET: x86_64-unknown-linux-gnu
82
83 - name: Nightly analysis-stats check
84 if: github.ref != 'refs/heads/release'
85 run: ./dist/rust-analyzer-x86_64-unknown-linux-gnu analysis-stats .
86
87 - name: Upload artifacts
88 uses: actions/upload-artifact@v1
89 with:
90 name: dist-ubuntu-16.04
91 path: ./dist
92
93 dist-macos-latest:
94 name: dist (MacOS latest)
95 runs-on: macos-latest
96
97 steps:
98 - name: Checkout repository
99 uses: actions/checkout@v2
100
101 - name: Install Rust toolchain
102 uses: actions-rs/toolchain@v1
103 with:
104 toolchain: stable
105 profile: minimal
106 override: true
57 107
58 - name: Dist 108 - name: Dist
59 if: matrix.os != 'ubuntu-16.04'
60 run: cargo xtask dist 109 run: cargo xtask dist
110 env:
111 RA_TARGET: x86_64-apple-darwin
61 112
62 - name: Nightly analysis-stats check 113 - name: Upload artifacts
63 if: matrix.os == 'ubuntu-16.04' && github.ref != 'refs/heads/release' 114 uses: actions/upload-artifact@v1
64 run: ./dist/rust-analyzer-linux analysis-stats . 115 with:
116 name: dist-macos-latest
117 path: ./dist
118
119 dist-macos-11:
120 name: dist (MacOS 11.0)
121 runs-on: macos-11.0
122
123 steps:
124 - name: Checkout repository
125 uses: actions/checkout@v2
126
127 - name: Install Rust toolchain (beta)
128 uses: actions-rs/toolchain@v1
129 with:
130 toolchain: beta
131 target: aarch64-apple-darwin
132 profile: minimal
133 override: true
134
135 - name: Dist
136 run: cargo xtask dist
137 env:
138 RA_TARGET: aarch64-apple-darwin
65 139
66 - name: Upload artifacts 140 - name: Upload artifacts
67 uses: actions/upload-artifact@v1 141 uses: actions/upload-artifact@v1
68 with: 142 with:
69 name: dist-${{ matrix.os }} 143 name: dist-macos-11.0
70 path: ./dist 144 path: ./dist
71 145
72 publish: 146 publish:
73 name: publish 147 name: publish
74 runs-on: ubuntu-16.04 148 runs-on: ubuntu-16.04
75 needs: ['dist'] 149 needs: ['dist-windows', 'dist-ubuntu', 'dist-macos-latest', 'dist-macos-11']
76 steps: 150 steps:
77 - name: Install Nodejs 151 - name: Install Nodejs
78 uses: actions/setup-node@v1 152 uses: actions/setup-node@v1
@@ -93,6 +167,10 @@ jobs:
93 167
94 - uses: actions/download-artifact@v1 168 - uses: actions/download-artifact@v1
95 with: 169 with:
170 name: dist-macos-11.0
171 path: dist
172 - uses: actions/download-artifact@v1
173 with:
96 name: dist-macos-latest 174 name: dist-macos-latest
97 path: dist 175 path: dist
98 - uses: actions/download-artifact@v1 176 - uses: actions/download-artifact@v1
@@ -103,7 +181,7 @@ jobs:
103 with: 181 with:
104 name: dist-windows-latest 182 name: dist-windows-latest
105 path: dist 183 path: dist
106 - run: ls -all ./dist 184 - run: ls -al ./dist
107 185
108 - name: Publish Release 186 - name: Publish Release
109 uses: ./.github/actions/github-release 187 uses: ./.github/actions/github-release