aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/release.yaml
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-03-04 16:01:38 +0000
committerAleksey Kladov <[email protected]>2020-03-04 16:01:38 +0000
commitff17b0ba48fbf80d9672909e4c5f9f833257336e (patch)
tree175da328f87a2ff31716f43fdf5d3732850f0025 /.github/workflows/release.yaml
parent51c358f9cc95fc30bb7703f493f9a960b84ca2d1 (diff)
Deindent YAML
Diffstat (limited to '.github/workflows/release.yaml')
-rw-r--r--.github/workflows/release.yaml319
1 files changed, 160 insertions, 159 deletions
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index a697c0071..fe893e005 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -2,7 +2,7 @@ name: release
2on: 2on:
3 push: 3 push:
4 branches: 4 branches:
5 - release 5 - release
6 6
7jobs: 7jobs:
8 build-server: 8 build-server:
@@ -11,183 +11,184 @@ jobs:
11 strategy: 11 strategy:
12 matrix: 12 matrix:
13 os: [ubuntu-latest, windows-latest, macos-latest] 13 os: [ubuntu-latest, windows-latest, macos-latest]
14
14 env: 15 env:
15 RUSTFLAGS: -D warnings 16 RUSTFLAGS: -D warnings
16 CARGO_INCREMENTAL: 0 17 CARGO_INCREMENTAL: 0
17 RUSTUP_MAX_RETRIES: 10 18 RUSTUP_MAX_RETRIES: 10
18 CARGO_NET_RETRY: 10 19 CARGO_NET_RETRY: 10
19 steps:
20 20
21 - name: Checkout repository 21 steps:
22 uses: actions/checkout@v1 22 - name: Checkout repository
23 23 uses: actions/checkout@v1
24 # We need to disable the existing toolchain to avoid updating rust-docs 24
25 # which takes a long time. The fastest way to do this is to rename the 25 # We need to disable the existing toolchain to avoid updating rust-docs
26 # existing folder, as deleting it takes about as much time as not doing 26 # which takes a long time. The fastest way to do this is to rename the
27 # anything and just updating rust-docs. 27 # existing folder, as deleting it takes about as much time as not doing
28 - name: Rename existing rust toolchain (Windows) 28 # anything and just updating rust-docs.
29 if: matrix.os == 'windows-latest' 29 - name: Rename existing rust toolchain (Windows)
30 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 30 if: matrix.os == 'windows-latest'
31 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
32 - name: Install Rust toolchain 32
33 uses: actions-rs/toolchain@v1 33 - name: Install Rust toolchain
34 with: 34 uses: actions-rs/toolchain@v1
35 toolchain: stable 35 with:
36 profile: minimal 36 toolchain: stable
37 target: x86_64-unknown-linux-musl 37 profile: minimal
38 override: true 38 target: x86_64-unknown-linux-musl
39 39 override: true
40 - name: Build 40
41 if: matrix.os == 'ubuntu-latest' 41 - name: Build
42 uses: actions-rs/cargo@v1 42 if: matrix.os == 'ubuntu-latest'
43 env: 43 uses: actions-rs/cargo@v1
44 CC: clang 44 env:
45 with: 45 CC: clang
46 command: build 46 with:
47 args: --package rust-analyzer --bin rust-analyzer --release --target x86_64-unknown-linux-musl 47 command: build
48 48 args: --package rust-analyzer --bin rust-analyzer --release --target x86_64-unknown-linux-musl
49 - name: Build 49
50 if: matrix.os != 'ubuntu-latest' 50 - name: Build
51 uses: actions-rs/cargo@v1 51 if: matrix.os != 'ubuntu-latest'
52 with: 52 uses: actions-rs/cargo@v1
53 command: build 53 with:
54 args: --package rust-analyzer --bin rust-analyzer --release 54 command: build
55 55 args: --package rust-analyzer --bin rust-analyzer --release
56 - name: Create distribution dir 56
57 run: mkdir ./dist 57 - name: Create distribution dir
58 58 run: mkdir ./dist
59 - name: Copy binary 59
60 if: matrix.os == 'ubuntu-latest' 60 - name: Copy binary
61 run: cp ./target/x86_64-unknown-linux-musl/release/rust-analyzer ./dist/rust-analyzer-linux && strip ./dist/rust-analyzer-linux 61 if: matrix.os == 'ubuntu-latest'
62 62 run: cp ./target/x86_64-unknown-linux-musl/release/rust-analyzer ./dist/rust-analyzer-linux && strip ./dist/rust-analyzer-linux
63 - name: Copy binary 63
64 if: matrix.os == 'macos-latest' 64 - name: Copy binary
65 run: cp ./target/release/rust-analyzer ./dist/rust-analyzer-mac 65 if: matrix.os == 'macos-latest'
66 66 run: cp ./target/release/rust-analyzer ./dist/rust-analyzer-mac
67 - name: Copy binary 67
68 if: matrix.os == 'windows-latest' 68 - name: Copy binary
69 run: copy ./target/release/rust-analyzer.exe ./dist/rust-analyzer-windows.exe 69 if: matrix.os == 'windows-latest'
70 70 run: copy ./target/release/rust-analyzer.exe ./dist/rust-analyzer-windows.exe
71 - name: Upload artifacts 71
72 uses: actions/upload-artifact@v1 72 - name: Upload artifacts
73 with: 73 uses: actions/upload-artifact@v1
74 name: server-${{ matrix.os }} 74 with:
75 path: ./dist 75 name: server-${{ matrix.os }}
76 path: ./dist
76 77
77 build-clients: 78 build-clients:
78 name: build-clients 79 name: build-clients
79 runs-on: ubuntu-latest 80 runs-on: ubuntu-latest
80 steps: 81 steps:
81 - name: Checkout repository 82 - name: Checkout repository
82 uses: actions/checkout@v1 83 uses: actions/checkout@v1
83 84
84 - name: Install Nodejs 85 - name: Install Nodejs
85 uses: actions/setup-node@v1 86 uses: actions/setup-node@v1
86 with: 87 with:
87 node-version: 12.x 88 node-version: 12.x
88 89
89 - run: npm ci 90 - run: npm ci
90 working-directory: ./editors/code 91 working-directory: ./editors/code
91 92
92 - run: npm run package --scripts-prepend-node-path 93 - run: npm run package --scripts-prepend-node-path
93 working-directory: ./editors/code 94 working-directory: ./editors/code
94 95
95 - name: Copy vscode extension 96 - name: Copy vscode extension
96 run: mkdir -p ./dist/code && cp ./editors/code/rust-analyzer.vsix ./dist/ 97 run: mkdir -p ./dist/code && cp ./editors/code/rust-analyzer.vsix ./dist/
97 98
98 - name: Upload artifacts 99 - name: Upload artifacts
99 uses: actions/upload-artifact@v1 100 uses: actions/upload-artifact@v1
100 with: 101 with:
101 name: editor-plugins 102 name: editor-plugins
102 path: ./dist 103 path: ./dist
103 104
104 make-release: 105 make-release:
105 name: make-release 106 name: make-release
106 runs-on: ubuntu-latest 107 runs-on: ubuntu-latest
107 needs: ['build-server', 'build-clients'] 108 needs: ['build-server', 'build-clients']
108 steps: 109 steps:
109 - name: Install Nodejs 110 - name: Install Nodejs
110 uses: actions/setup-node@v1 111 uses: actions/setup-node@v1
111 with: 112 with:
112 node-version: 12.x 113 node-version: 12.x
113 114
114 - run: echo "::set-env name=TAG::$(date --iso)" 115 - run: echo "::set-env name=TAG::$(date --iso)"
115 - run: 'echo "TAG: $TAG"' 116 - run: 'echo "TAG: $TAG"'
116 117
117 - name: Checkout repository 118 - name: Checkout repository
118 uses: actions/checkout@v1 119 uses: actions/checkout@v1
119 120
120 - uses: actions/download-artifact@v1 121 - uses: actions/download-artifact@v1
121 with: 122 with:
122 name: editor-plugins 123 name: editor-plugins
123 path: dist 124 path: dist
124 - uses: actions/download-artifact@v1 125 - uses: actions/download-artifact@v1
125 with: 126 with:
126 name: server-macos-latest 127 name: server-macos-latest
127 path: dist 128 path: dist
128 - uses: actions/download-artifact@v1 129 - uses: actions/download-artifact@v1
129 with: 130 with:
130 name: server-ubuntu-latest 131 name: server-ubuntu-latest
131 path: dist 132 path: dist
132 - uses: actions/download-artifact@v1 133 - uses: actions/download-artifact@v1
133 with: 134 with:
134 name: server-windows-latest 135 name: server-windows-latest
135 path: dist 136 path: dist
136 - run: ls -all ./dist 137 - run: ls -all ./dist
137 138
138 - name: Create Release 139 - name: Create Release
139 id: create_release 140 id: create_release
140 # uses: actions/create-release@v1 141 # uses: actions/create-release@v1
141 # https://github.com/actions/create-release/pull/32 142 # https://github.com/actions/create-release/pull/32
142 uses: fleskesvor/create-release@1a72e235c178bf2ae6c51a8ae36febc24568c5fe 143 uses: fleskesvor/create-release@1a72e235c178bf2ae6c51a8ae36febc24568c5fe
143 env: 144 env:
144 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 145 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
145 with: 146 with:
146 tag_name: ${{ env.TAG }} 147 tag_name: ${{ env.TAG }}
147 release_name: ${{ env.TAG }} 148 release_name: ${{ env.TAG }}
148 draft: false 149 draft: false
149 prerelease: false 150 prerelease: false
150 151
151 - uses: actions/[email protected] 152 - uses: actions/[email protected]
152 env: 153 env:
153 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 154 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
154 with: 155 with:
155 upload_url: ${{ steps.create_release.outputs.upload_url }} 156 upload_url: ${{ steps.create_release.outputs.upload_url }}
156 asset_path: ./dist/rust-analyzer-linux 157 asset_path: ./dist/rust-analyzer-linux
157 asset_name: rust-analyzer-linux 158 asset_name: rust-analyzer-linux
158 asset_content_type: application/octet-stream 159 asset_content_type: application/octet-stream
159 160
160 - uses: actions/[email protected] 161 - uses: actions/[email protected]
161 env: 162 env:
162 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 163 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
163 with: 164 with:
164 upload_url: ${{ steps.create_release.outputs.upload_url }} 165 upload_url: ${{ steps.create_release.outputs.upload_url }}
165 asset_path: ./dist/rust-analyzer-mac 166 asset_path: ./dist/rust-analyzer-mac
166 asset_name: rust-analyzer-mac 167 asset_name: rust-analyzer-mac
167 asset_content_type: application/octet-stream 168 asset_content_type: application/octet-stream
168 169
169 - uses: actions/[email protected] 170 - uses: actions/[email protected]
170 env: 171 env:
171 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 172 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
172 with: 173 with:
173 upload_url: ${{ steps.create_release.outputs.upload_url }} 174 upload_url: ${{ steps.create_release.outputs.upload_url }}
174 asset_path: ./dist/rust-analyzer-windows.exe 175 asset_path: ./dist/rust-analyzer-windows.exe
175 asset_name: rust-analyzer-windows.exe 176 asset_name: rust-analyzer-windows.exe
176 asset_content_type: application/octet-stream 177 asset_content_type: application/octet-stream
177 178
178 - uses: actions/[email protected] 179 - uses: actions/[email protected]
179 env: 180 env:
180 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 181 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
181 with: 182 with:
182 upload_url: ${{ steps.create_release.outputs.upload_url }} 183 upload_url: ${{ steps.create_release.outputs.upload_url }}
183 asset_path: ./dist/rust-analyzer.vsix 184 asset_path: ./dist/rust-analyzer.vsix
184 asset_name: rust-analyzer.vsix 185 asset_name: rust-analyzer.vsix
185 asset_content_type: application/octet-stream 186 asset_content_type: application/octet-stream
186 187
187 - run: npm ci 188 - run: npm ci
188 working-directory: ./editors/code 189 working-directory: ./editors/code
189 190
190 - name: Publish Extension 191 - name: Publish Extension
191 working-directory: ./editors/code 192 working-directory: ./editors/code
192 # token from https://dev.azure.com/rust-analyzer/ 193 # token from https://dev.azure.com/rust-analyzer/
193 run: npx vsce publish 0.1.$(date +%Y%m%d) --pat ${{ secrets.MARKETPLACE_TOKEN }} 194 run: npx vsce publish 0.1.$(date +%Y%m%d) --pat ${{ secrets.MARKETPLACE_TOKEN }}