diff options
Diffstat (limited to '.github/workflows/release.yaml')
-rw-r--r-- | .github/workflows/release.yaml | 114 |
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 | ||
17 | jobs: | 17 | jobs: |
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 |