-
Notifications
You must be signed in to change notification settings - Fork 25
58 lines (46 loc) · 2.04 KB
/
continuous-integration.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Morgan Stanley makes this available to you under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. See the NOTICE file distributed with this work for additional information regarding copyright ownership. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
# This workflow will do a clean install of node dependencies, build the source code and run tests
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main, nx-monorepo ]
workflow_call:
permissions:
contents: read
jobs:
build:
env:
COMPOSEUI_SKIP_DOWNLOAD: 'true'
DOTNET_CONSOLE_ANSI_COLOR: 'true'
runs-on: windows-latest
strategy:
matrix:
dotnet-version: [ '6.0.x' ]
node-version: [ '18.x' ]
steps:
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
COMPOSEUI_SKIP_DOWNLOAD: ${{env.COMPOSEUI_SKIP_DOWNLOAD}}
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
uses: actions/setup-dotnet@v2
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Install/Restore NPM/Nuget dependencies
run: npm ci
- name: Build Projects
run: npx nx run-many -t build
- name: Test Projects
run: npx nx run-many -t test
- name: Codecov
uses: codecov/[email protected]
# By uploading it's shared with the other workflows that are reusing this
- name: Upload Shell Binaries
uses: actions/upload-artifact@v3
with:
name: shell-binaries
path: ${{ github.workspace }}/src/shell/dotnet/Shell/bin/Release/net6.0-windows/