1
- name : Build - macOS
1
+ name : Build ( macOS)
2
2
3
3
on :
4
4
workflow_call :
5
5
inputs :
6
6
NIGHTLY :
7
7
default : false
8
8
type : boolean
9
+ workflow_dispatch :
9
10
10
11
jobs :
11
12
build :
12
- name : ${{ matrix.os }} - SQLCipher ${{ matrix.sqlcipher }}
13
+ name : ${{ matrix.os }} ( ${{ matrix.bundle }})
13
14
runs-on : ${{ matrix.os }}
14
15
strategy :
15
16
fail-fast : false
16
17
matrix :
18
+ bundle : [SQLCipher, SQLite]
17
19
os : [macos-14]
18
- sqlcipher : ["0", "1"]
19
20
env :
20
21
MACOSX_DEPLOYMENT_TARGET : 10.13
21
22
steps :
@@ -28,35 +29,38 @@ jobs:
28
29
run : |
29
30
sudo rm -rfv /Library/Frameworks/Mono.framework
30
31
sudo pkgutil --forget com.xamarin.mono-MDK.pkg
31
- sudo rm /etc/paths.d/mono-commands
32
+ sudo rm -v /etc/paths.d/mono-commands
32
33
33
34
- name : Install dependencies
34
35
run : |
35
- brew update
36
36
brew tap sqlitebrowser/tap
37
- brew unlink openssl@3
38
- brew install sqlb-openssl@3
39
37
brew install sqlb-qt@5 sqlb-sqlcipher sqlb-sqlite ninja
40
38
npm install -g appdmg
41
39
42
40
- name : Configure build
43
41
run : |
44
42
if [ "${{ inputs.NIGHTLY }}" = "true" ]; then
45
- if [ "${{ matrix.sqlcipher }}" = "1 " ]; then
43
+ if [ "${{ matrix.bundle }}" = "SQLCipher " ]; then
46
44
sed -i "" 's/"DB Browser for SQLite"/"DB Browser for SQLCipher Nightly"/' config/platform_apple.cmake
47
45
else
48
46
sed -i "" 's/"DB Browser for SQLite"/"DB Browser for SQLite Nightly"/' config/platform_apple.cmake
49
47
fi
50
48
else
51
- if [ "${{ matrix.sqlcipher }}" = "1 " ]; then
49
+ if [ "${{ matrix.bundle }}" = "SQLCipher " ]; then
52
50
sed -i "" 's/"DB Browser for SQLite"/"DB Browser for SQLCipher-dev-'$(git rev-parse --short --verify HEAD)'"/' config/platform_apple.cmake
53
51
else
54
52
sed -i "" 's/"DB Browser for SQLite"/"DB Browser for SQLite-dev-'$(git rev-parse --short --verify HEAD)'"/' config/platform_apple.cmake
55
53
fi
56
54
fi
57
55
58
- mkdir build && cd build
59
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DcustomTap=1 -DENABLE_TESTING=ON -Dsqlcipher=${{ matrix.sqlcipher }} ..
56
+ mkdir -v build && cd build
57
+ cmake -G Ninja \
58
+ -DCMAKE_BUILD_TYPE=Release \
59
+ -DCMAKE_CXX_STANDARD=14 \
60
+ -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
61
+ -DcustomTap=1 \
62
+ -DENABLE_TESTING=ON \
63
+ -Dsqlcipher=${{ matrix.bundle == 'SQLCipher' }} ..
60
64
61
65
- name : Build
62
66
working-directory : ./build
@@ -81,18 +85,27 @@ jobs:
81
85
KEYCHAIN_PW : ${{ secrets.MACOS_CODESIGN_KEYCHAIN_PW }}
82
86
P12 : ${{ secrets.MACOS_CODESIGN_P12 }}
83
87
P12_PW : ${{ secrets.MACOS_CODESIGN_P12_PW }}
84
- NIGHTLY : ${{ inputs.NIGHTLY }}
85
- SQLCIPHER : ${{ matrix.sqlcipher }}
88
+ NIGHTLY : ${{ inputs.NIGHTLY || false }}
89
+ SQLCIPHER : ${{ matrix.bundle == 'SQLCipher' }}
86
90
TEAM_ID : ${{ secrets.MACOS_CODESIGN_TEAM_ID }}
87
91
88
92
- if : steps.notarization.conclusion != 'skipped'
89
93
name : Clear Keychain
90
94
run : security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
91
95
continue-on-error : true
92
96
93
- - if : github.event_name != 'pull_request'
97
+ - if : github.event_name != 'pull_request' && github.workflow != 'Build (macOS)'
94
98
name : Upload artifacts
95
99
uses : actions/upload-artifact@v4
96
100
with :
97
- name : build-artifacts-${{ matrix.os }}-${{ matrix.sqlcipher }}
101
+ name : build-artifacts-${{ matrix.os }}-${{ matrix.bundle }}
98
102
path : DB.Browser.for.*.dmg
103
+ retention-days : 1
104
+
105
+ - if : github.event_name == 'workflow_dispatch' || github.event_name == 'Build (macOS)'
106
+ name : Release
107
+ uses : softprops/action-gh-release@v2
108
+ with :
109
+ files : DB.Browser.for.*.dmg
110
+ prerelease : true
111
+ tag_name : ${{ github.sha }}-macos
0 commit comments