-
Notifications
You must be signed in to change notification settings - Fork 27
137 lines (113 loc) · 4.15 KB
/
Copy pathbuild_windows.yml
File metadata and controls
137 lines (113 loc) · 4.15 KB
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
name: Windows
on:
push:
branches: [ master, '*-ci' ]
pull_request:
branches: [ master, '*-ci' ]
workflow_dispatch:
jobs:
zserio:
uses: "./.github/workflows/build_windows_zserio.yml"
cpp:
needs: [zserio]
uses: "./.github/workflows/build_windows_cpp.yml"
java:
needs: [zserio]
uses: "./.github/workflows/build_windows_java.yml"
python:
needs: [zserio]
uses: "./.github/workflows/build_windows_python.yml"
doc:
needs: [zserio]
uses: "./.github/workflows/build_windows_doc.yml"
xml:
needs: [zserio]
uses: "./.github/workflows/build_windows_xml.yml"
release:
needs: [cpp, java, python, doc, xml]
runs-on: "windows-2022"
steps:
- name: Install dependencies
shell: bash
run: |
choco install zip --version=3.0.0.20251001
- name: "Download Zserio release artifacts"
uses: actions/download-artifact@v4
with:
name: zserio-bin-java8
path: zserio-bin-java8
- name: "Download Java runtime release artifacts"
uses: actions/download-artifact@v4
with:
name: zserio-runtime-java8
path: zserio-runtime-java8
- name: "Download C++ runtime release artifacts"
uses: actions/download-artifact@v4
with:
name: zserio-runtime-cpp
path: zserio-runtime-cpp
- name: "Download Python runtime release artifacts"
uses: actions/download-artifact@v4
with:
name: zserio-runtime-python
path: zserio-runtime-python
- name: "Get Zserio version"
shell: bash
run: |
RELEASE_DIR=$(ls -1 zserio-bin-java8 | head -n 1)
ZSERIO_VERSION=${RELEASE_DIR#release-}
echo "ZSERIO_VERSION=${ZSERIO_VERSION}" >> ${GITHUB_ENV}
- name: "Compose final release"
shell: bash
run: |
RELEASE_DIR=release-${ZSERIO_VERSION}
mkdir ${RELEASE_DIR}
# zserio compiler with all extensions
cp zserio-bin-java8/release-*/zserio-*-bin.zip ${RELEASE_DIR}/.
# prepare all runtime libraries
mkdir runtime_libs
# add zserio java runtime library
unzip -q zserio-runtime-java8/release-*/zserio-*-runtime-libs.zip -d zserio-runtime-java8
cp -r zserio-runtime-java8/runtime_libs/java runtime_libs/.
# add zserio cpp runtime library
unzip -q zserio-runtime-cpp/release-*/zserio-*-runtime-libs.zip -d zserio-runtime-cpp
cp -r zserio-runtime-cpp/runtime_libs/cpp runtime_libs/.
# add zserio python runtime library
unzip -q zserio-runtime-python/release-*/zserio-*-runtime-libs.zip -d zserio-runtime-python
cp -r zserio-runtime-python/runtime_libs/python runtime_libs/.
# zip runtime libraries
zip -rq ${RELEASE_DIR}/zserio-${ZSERIO_VERSION}-runtime-libs.zip "runtime_libs"
- name: "Archive release artifacts"
uses: actions/upload-artifact@v4
with:
name: windows-release-${{env.ZSERIO_VERSION}}
path: release-${{env.ZSERIO_VERSION}}
- name: "Checkout scripts"
uses: actions/checkout@v4
with:
path: zserio
- name: "Compose dev release"
shell: bash
run: |
DEV_DIR=dev-${ZSERIO_VERSION}
mkdir ${DEV_DIR}
mkdir scripts
cp -r zserio/scripts/. scripts
mkdir cmake
cp -r zserio/cmake/. cmake
mkdir -p compiler/core/src/zserio/tools
cp zserio/compiler/core/src/zserio/tools/ZserioVersion.java compiler/core/src/zserio/tools
mkdir -p compiler/extensions/cpp/runtime
cp zserio/compiler/extensions/cpp/runtime/ClangTidyConfig.txt compiler/extensions/cpp/runtime
mkdir -p test/extensions
cp zserio/test/extensions/pylintrc.txt test/extensions
cp zserio/test/extensions/mypy.ini test/extensions
mkdir -p 3rdparty/cpp/sqlite
cp -r zserio/3rdparty/cpp/sqlite/. 3rdparty/cpp/sqlite
zip -rq ${DEV_DIR}/zserio-${ZSERIO_VERSION}-scripts.zip "scripts" "cmake" "compiler" "test" "3rdparty"
- name: "Archive developer artifact"
id: upload-dev-release
uses: actions/upload-artifact@v4
with:
name: windows-dev-${{env.ZSERIO_VERSION}}
path: dev-${{env.ZSERIO_VERSION}}