-
Notifications
You must be signed in to change notification settings - Fork 9
131 lines (118 loc) · 4.22 KB
/
dev.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
name: Advene dev testing workflow
on:
push:
branches:
- dev
jobs:
windows:
# Temporarily disable - we debug macosx
if: false
runs-on: windows-latest
strategy:
fail-fast: true
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
# Note: we are using fetch-depth: 0 here to fetch the whole
# history and especially tags, since we use git describe
# afterwards to generate the installer filename.
fetch-depth: 0
- name: setup-msys2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
git
dos2unix
mingw-w64-x86_64-gettext
mingw-w64-x86_64-gdk-pixbuf2
mingw-w64-x86_64-librsvg
mingw-w64-x86_64-gtk3
mingw-w64-x86_64-libsoup3
mingw-w64-x86_64-gstreamer
mingw-w64-x86_64-gst-plugins-base
mingw-w64-x86_64-gst-plugins-good
mingw-w64-x86_64-gst-plugins-bad
mingw-w64-x86_64-gst-libav
mingw-w64-x86_64-gst-plugins-ugly
mingw-w64-x86_64-python
mingw-w64-x86_64-cc
mingw-w64-x86_64-pkgconf
mingw-w64-x86_64-gobject-introspection
mingw-w64-x86_64-appstream
- name: Build Installer
env:
BUILD_REF: ${{ github.event.inputs.ref }}
shell: msys2 {0}
run: |
if [[ -z "$BUILD_REF" ]]; then
BUILD_REF="$(git rev-parse --abbrev-ref HEAD)"
fi
cd dev/win_installer
./bootstrap.sh
./build.sh "$BUILD_REF"
cd ../..
ARTIFACT_PATHNAME=$(ls dev/win_installer/advene-*-installer.exe | head -n 1)
ARTIFACT_NAME=$(basename $ARTIFACT_PATHNAME)
echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
- name: Upload Results
uses: actions/upload-artifact@v4
with:
name: installer
path: dev/win_installer/*.exe
macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install JHBuild
run: |
cd dev/osx_bundle
./bootstrap.sh
- name: Build dependencies
run: |
cd dev/osx_bundle
./build.sh
- name: Create bundle
run: |
cd dev/osx_bundle
./bundle.sh
ARTIFACT_PATHNAME=$(ls dev/osx_bundle/_build/*.dmg | head -n 1)
ARTIFACT_NAME=$(basename $ARTIFACT_PATHNAME)
echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
- name: "Upload binary as artifact"
uses: actions/upload-artifact@v3
with:
path: dev/osx_bundle/_build/*.dmg
- name: "Create Release"
id: create_release
uses: actions/create-release@v1
# Do not execute step if we do not have a tag.
# If we invoke by event trigger, then it
# will create a refs/heads/master tag which will make a
# mess. See
# https://github.com/actions/create-release/issues/13#issuecomment-629741295
# for more details.
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: "Upload Release Asset"
id: upload-release-asset
uses: actions/[email protected]
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ${{ env.ARTIFACT_PATHNAME }}
asset_name: ${{ env.ARTIFACT_NAME }}
asset_content_type: application/octet-stream