-
-
Notifications
You must be signed in to change notification settings - Fork 155
141 lines (121 loc) · 3.55 KB
/
build.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: 'Build'
env:
VERSION: 4.20.0
ASM_VERSION: 4.0.0
DOC_INSTANCE: wrs/pq
DOC_ARTIFACT: webHelp-all.zip
DOC_DOCKER_VERSION: 232.10275
# Gives the workflow permissions to clone the repo and create a page deployment
permissions:
id-token: write
pages: write
on:
push:
branches: [ master, viewer-take-2 ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
test:
name: Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
3.1.x
6.0.x
7.0.x
8.0.x
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Python dependencies
run: pip install pyarrow pandas
- name: 'test on ${{ matrix.os }}'
run: dotnet test src/Parquet.sln -c release
build:
runs-on: 'ubuntu-latest'
name: 'Build NuGet'
steps:
- run: echo ${{ github.head_ref }}
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
3.1.x
6.0.x
7.0.x
8.0.x
- name: Build Library
run: |
envsubst < src/Parquet/Globals.cs > g.tmp && mv g.tmp src/Parquet/Globals.cs
cat src/Parquet/Globals.cs
dotnet build src/Parquet.sln -c release /p:Version=$VERSION /p:FileVersion=$VERSION /p:AssemblyVersion=$ASM_VERSION
- name: collect artifacts
run: |
mkdir artifacts
cp src/Parquet/bin/Release/*.nupkg artifacts/
echo "${{ env.VERSION }}" >> artifacts/version.txt
cp docs/release-history.md artifacts/
- uses: actions/upload-artifact@v3
name: upload artifacts
with:
name: bin
path: artifacts/*
floor-build:
runs-on: ubuntu-latest
name: 'Build Floor'
strategy:
matrix:
rid:
- linux-x64
- win-x64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
8.0.x
- name: Build
env:
LATEST_NET_ONLY: true
run: |
envsubst < src/Parquet/Globals.cs > g.tmp && mv g.tmp src/Parquet/Globals.cs
dotnet restore src/Parquet.Floor.Desktop/Parquet.Floor.Desktop.csproj
dotnet publish src/Parquet.Floor.Desktop/Parquet.Floor.Desktop.csproj -c release -r ${{ matrix.rid }} -o floor/${{ matrix.rid }} /p:Version=${{ env.VERSION }} /p:FileVersion=${{ env.VERSION }} /p:AssemblyVersion=${{ env.ASM_VERSION }}
- uses: actions/upload-artifact@v4
name: upload binary
with:
name: floor-${{ matrix.rid }}-${{ env.VERSION }}
path: |
floor/${{ matrix.rid }}/*
!floor/${{ matrix.rid }}/*.pdb
wrs-build:
runs-on: ubuntu-latest
name: Documentation
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Writerside docs
uses: JetBrains/writerside-github-action@v4
with:
instance: ${{ env.DOC_INSTANCE }}
artifact: ${{ env.DOC_INSTANCE }}
docker-version: ${{ env.DOC_DOCKER_VERSION }}
- name: Upload documentation
uses: actions/upload-artifact@v4
with:
name: docs
path: artifacts/*.zip
retention-days: 7