-
-
Notifications
You must be signed in to change notification settings - Fork 2
86 lines (70 loc) · 2.3 KB
/
build-release-tagged.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
name: Build and Publish Tagged Release
on:
push:
tags:
# Match only tags that look like version numbers, e.g. 0.1, 2.3-beta, 4.5.6d, etc.
- '[0-9]+.[0-9]+*'
# Make sure jobs cannot overlap.
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
# First, build the extension and upload the artifacts.
build-linux:
name: Compile and upload Linux version
uses: ./.github/workflows/extension-build-linux.yml
with:
git-base-ref: ${{ github.ref }}
build-macos:
name: Compile and upload macOS version
uses: ./.github/workflows/extension-build-macos.yml
secrets: inherit
with:
git-base-ref: ${{ github.ref }}
with-codesign: true
build-windows:
name: Compile and upload Windows version
uses: ./.github/workflows/extension-build-windows.yml
with:
git-base-ref: ${{ github.ref }}
build-web:
name: Compile and upload Web version
uses: ./.github/workflows/extension-build-web.yml
with:
git-base-ref: ${{ github.ref }}
build-android:
name: Compile and upload Android version
uses: ./.github/workflows/extension-build-android.yml
with:
git-base-ref: ${{ github.ref }}
# Then, make a draft release for the tag.
release-all:
name: Make a draft GitHub Release for the tag
needs: [ build-linux, build-macos, build-windows, build-web, build-android ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make GitHub Release
uses: ./.github/actions/make-release
with:
release-version: ${{ github.ref_name }}
# Lastly, use the artifacts to prepare the example project and publish the build.
publish-all:
name: Package and publish the extension
needs: [ release-all ]
uses: ./.github/workflows/extension-publish-all.yml
with:
release-version: ${{ github.ref_name }}
export-example-project:
name: Export the example project for target platforms
needs: [ release-all ]
uses: ./.github/workflows/example-export-project.yml
secrets: inherit
with:
with-codesign: true
publish-example-project:
name: Package and publish the example project
needs: [ export-example-project ]
uses: ./.github/workflows/example-publish-project.yml
with:
release-version: ${{ github.ref_name }}