-
Notifications
You must be signed in to change notification settings - Fork 14
116 lines (108 loc) · 3.99 KB
/
daily-build-check.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
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
name: Daily Build Check
env:
DOCS_ARTIFACT_TEMPLATE: dxfeed-c-api-%VERSION%-docs
MAC_ARTIFACT_TEMPLATE: dxfeed-c-api-%VERSION%-macosx
LINUX_ARTIFACT_TEMPLATE: dxfeed-c-api-%VERSION%-linux
CENTOS_ARTIFACT_TEMPLATE: dxfeed-c-api-%VERSION%-centos
WINDOWS_ARTIFACT_TEMPLATE: dxfeed-c-api-#VERSION#-windows
RELEASE_PREFIX: "dxFeed C API "
BUILD_VERSION: 0.0.0
jobs:
# --------------------------- BUILD DOCUMENTATION
build_docs:
runs-on: ubuntu-latest
name: build documentation
steps:
- uses: actions/checkout@master
- name: Set env
run: |
echo RELEASE_VERSION=${BUILD_VERSION} >> $GITHUB_ENV
echo ARTIFACT=$(echo ${DOCS_ARTIFACT_TEMPLATE} | sed "s/%VERSION%/${BUILD_VERSION}/g") >> $GITHUB_ENV
- name: Check env
run: |
echo Artifact: ${{ env.ARTIFACT }}
echo Release : ${{ env.RELEASE_VERSION }}
- name: Build documentation
uses: ./.github/actions/doxygen
id: build-docs
with:
artifact: ${{ env.ARTIFACT }}
release: ${{ env.RELEASE_VERSION }}
# --------------------------- BUILD LINUX LIBRARY (WITH TLS SUPPORT)
build_linux_tls:
runs-on: ubuntu-latest
name: build linux (TLS)
steps:
- uses: actions/checkout@main
- name: Set env
run: |
echo RELEASE_VERSION=${BUILD_VERSION} >> $GITHUB_ENV
echo ARTIFACT=$(echo ${LINUX_ARTIFACT_TEMPLATE} | sed "s/%VERSION%/${BUILD_VERSION}/g" ) >> $GITHUB_ENV
- name: Check env
run: |
echo Artifact: ${{ env.ARTIFACT }}
echo Release : ${{ env.RELEASE_VERSION }}
- name: Build Linux library (TLS)
run: |
./make_package.sh ${{ env.RELEASE_VERSION }} no-test
# --------------------------- BUILD OLD LINUX (CENTOS 7) LIBRARY (WITH TLS SUPPORT)
build_centos_tls:
runs-on: ubuntu-latest
name: build centos (TLS)
steps:
- uses: actions/checkout@master
- name: Set env
run: |
echo RELEASE_VERSION=${BUILD_VERSION} >> $GITHUB_ENV
echo ARTIFACT=$(echo ${CENTOS_ARTIFACT_TEMPLATE} | sed "s/%VERSION%/${BUILD_VERSION}/g" ) >> $GITHUB_ENV
- name: Check env
run: |
echo Artifact: ${{ env.ARTIFACT }}
echo Release : ${{ env.RELEASE_VERSION }}
- name: Build centos library (TLS)
uses: ./.github/actions/centos
id: build-centos
with:
artifact: ${{ env.ARTIFACT }}
release: ${{ env.RELEASE_VERSION }}
# --------------------------- BUILD MACOSX LIBRARY (WITH TLS SUPPORT)
build_macos_tls:
runs-on: macos-latest
name: build macos (TLS)
steps:
- uses: actions/checkout@master
- name: Set env
run: |
echo RELEASE_VERSION=${BUILD_VERSION} >> $GITHUB_ENV
echo ARTIFACT=$(echo ${MAC_ARTIFACT_TEMPLATE} | sed "s/%VERSION%/${BUILD_VERSION}/g" ) >> $GITHUB_ENV
- name: Check env
run: |
echo Artifact: ${{ env.ARTIFACT }}
echo Release : ${{ env.RELEASE_VERSION }}
- name: Prepare tools
run: |
brew install p7zip
- name: Build MacOSX library
run: |
./make_package.sh ${{ env.RELEASE_VERSION }} no-test
# --------------------------- BUILD WIN LIBRARY (WITH TLS SUPPORT)
build_win_tls:
runs-on: windows-2022
name: build windows (TLS)
steps:
- uses: actions/checkout@main
- name: Set env
run: |
echo RELEASE_VERSION=$("$Env:BUILD_VERSION") | Add-Content -Path $env:GITHUB_ENV -Encoding utf8
echo ARTIFACT=$(echo $Env:WINDOWS_ARTIFACT_TEMPLATE | %{$_ -replace '#VERSION#', $Env:BUILD_VERSION }) | Add-Content -Path $env:GITHUB_ENV -Encoding utf8
- name: Check env
run: |
echo "RELEASE : ${{ env.RELEASE_VERSION }}"
echo "ARTIFACT : ${{ env.ARTIFACT }}"
- name: Build Windows library (TLS)
run: |
./make_package.bat ${{ env.RELEASE_VERSION }} no-test vs2022