-
Notifications
You must be signed in to change notification settings - Fork 7
138 lines (116 loc) · 4.28 KB
/
release.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
132
133
134
135
136
137
138
name: BubbleScan Release
on:
push:
branches:
- main
- macos_certificate
jobs:
build-windows:
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.12'
- name: Run BubbleScan script
shell: bash
run: ./BubbleScan.sh
- name: List files in ServerCode/dist after running BubbleScan.sh
run: ls -l ServerCode/dist || echo "ServerCode/dist not found"
- name: Verify BubbleScan exists
shell: bash
run: |
if [ -f "ServerCode/dist/BubbleScan-Windows.exe" ]; then
echo "BubbleScan found in ServerCode/dist."
else
echo "BubbleScan not found in ServerCode/dist."
exit 1
fi
- name: Zip files for release
run: |
Compress-Archive -Path ServerCode/dist/BubbleScan-Windows.exe, ServerCode/dist/static -DestinationPath ServerCode/dist/BubbleScan.zip
shell: powershell
- name: Create a new Git tag
id: create_tag
shell: powershell
run: |
$TAG = "v$(Get-Date -Format 'yyyyMMddHHmmss')-Windows"
echo "TAG=$TAG" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "::set-output name=TAG::$TAG"
git tag $TAG
git push origin $TAG
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload to GitHub Release
uses: softprops/action-gh-release@v1
with:
files: ServerCode/dist/Bubblescan.zip
tag_name: ${{ steps.create_tag.outputs.TAG }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-macos:
runs-on: macos-latest
permissions:
contents: write
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.12'
- name: Set executable permissions for BubbleScan.sh
run: chmod +x BubbleScanMac.sh
- name: Run BubbleScan script
shell: bash
run: ./BubbleScanMac.sh
- name: List files in ServerCode/dist after running BubbleScan.sh
run: ls -l ServerCode/dist || echo "ServerCode/dist not found"
- name: Verify BubbleScan exists
shell: bash
run: |
if [ -f "ServerCode/dist/BubbleScan-macOS" ]; then
echo "BubbleScan found in ServerCode/dist."
else
echo "BubbleScan not found in ServerCode/dist."
exit 1
fi
- name: Codesign executable
env:
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
IDENTITY_ID: ${{ secrets.IDENTITY_ID }}
run: |
echo $MACOS_CERTIFICATE | base64 —-decode > certificate.p12
security create-keychain -p keychain-password build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p keychain-password> build.keychain
security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k keychain-password build.keychain
/usr/bin/codesign --force -s $IDENTITY_ID ServerCode/dist/BubbleScan-MacOS -v
- name: Zip files for release
shell: bash
run: |
zip -r ServerCode/dist/BubbleScan.zip ServerCode/dist/BubbleScan-macOS ServerCode/dist/static
- name: Create a new Git tag for macOS
id: create_tag
shell: bash
run: |
TAG="v$(date +'%Y%m%d%H%M%S')-macOS"
echo "TAG=$TAG" >> $GITHUB_ENV
echo "::set-output name=TAG::$TAG"
git tag $TAG
git push origin $TAG
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload macOS binary to GitHub Release
uses: softprops/action-gh-release@v1
with:
files: ServerCode/dist/BubbleScan.zip
tag_name: ${{ steps.create_tag.outputs.TAG }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}