-
Notifications
You must be signed in to change notification settings - Fork 2
103 lines (84 loc) · 2.38 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
name: "Build"
on:
push:
branches:
- "main"
tags:
- "*"
pull_request:
branches:
- "main"
jobs:
BuildMac:
runs-on: "macos-13"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: "Run build-macos.sh"
run: "./build-macos.sh ${{ matrix.config }}"
- uses: "actions/upload-artifact@v3"
with:
name: "opencv-macos-${{ matrix.config }}"
path: "release/opencv-macos-${{ matrix.config }}.tar.gz"
BuildLinux:
runs-on: "ubuntu-22.04"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: "Run build-linux.sh"
run: "./build-linux.sh ${{ matrix.config }}"
- uses: "actions/upload-artifact@v3"
with:
name: "opencv-linux-${{ matrix.config }}"
path: "release/opencv-linux-${{ matrix.config }}.tar.gz"
BuildWindows:
runs-on: "windows-2022"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: "Run Build-Windows.ps1"
run: "./Build-Windows.ps1 -Config ${{ matrix.config }}"
- uses: "actions/upload-artifact@v3"
with:
name: "opencv-linux-${{ matrix.config }}"
path: "release/opencv-windows-${{ matrix.config }}.zip"
Release:
runs-on: "ubuntu-22.04"
if: "github.event_name == 'push' && contains(github.ref, 'refs/tags/')"
needs: [BuildMac, BuildLinux, BuildWindows]
permissions:
contents: "write"
steps:
- name: "Get Metadata"
id: "metadata"
run: |
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
- name: "Download build artifacts"
uses: "actions/download-artifact@v3"
- name: "Create Release"
uses: "softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5"
with:
draft: true
tag_name: "${{ steps.metadata.outputs.version }}"
name: "${{ steps.metadata.outputs.version }}"
files: |
${{ github.workspace }}/**/*.tar.gz
${{ github.workspace }}/**/*.zip