-
Notifications
You must be signed in to change notification settings - Fork 112
130 lines (108 loc) · 4.8 KB
/
builder-extras.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
name: Builder extras installers
on:
workflow_dispatch:
env:
SRC_PATH: ${{ github.workspace }}/src
INSTALLER_SCRIPT_PATH: ${{ github.workspace }}/src/bin/installer/bin
EXTRAS_PATH: ${{ github.workspace }}/src/extras
jobs:
build-job:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: ${{ env.SRC_PATH }}
- name: Install Python packages
run: pip install py7zr pefile colorama
##----------------
## Build Ghidra
##----------------
- name: Update Ghidra installer .iss config paths
working-directory: ${{ env.EXTRAS_PATH }}/ghidra/installer
shell: bash
run: |
WORKSPACE_BUILD_PATH=$(echo "${{ github.workspace }}" | tr '\\' '/')
WORKSPACE_SRC_PATH=$(echo "${{ env.SRC_PATH }}" | tr '\\' '/')
sed -i "s|C:\\\\code\\\\toolkit|$WORKSPACE_SRC_PATH|g" setup.iss
sed -i "s|C:\\\\code|$WORKSPACE_BUILD_PATH|g" setup.iss
- name: Update version number in Ghidra installer .iss
working-directory: ${{ env.EXTRAS_PATH }}/ghidra/installer
shell: bash
run: |
VERSION_CODE=$(date +'%Y.%m')
sed -i 's/RELEASE/'"$VERSION_CODE"'/g' setup.iss
- name: Build Ghidra installer
working-directory: ${{ env.EXTRAS_PATH }}/ghidra/installer
run: ISCC.exe setup.iss
##----------------
## Build Oldies
##----------------
- name: Unpack tools Oldies
working-directory: ${{ env.INSTALLER_SCRIPT_PATH }}
run: python unpack-project.py -f ${{ env.EXTRAS_PATH }}/oldies/toolkit
- name: Update Oldies installer .iss config paths
working-directory: ${{ env.EXTRAS_PATH }}/oldies/installer
shell: bash
run: |
WORKSPACE_BUILD_PATH=$(echo "${{ github.workspace }}" | tr '\\' '/')
WORKSPACE_SRC_PATH=$(echo "${{ env.SRC_PATH }}" | tr '\\' '/')
sed -i "s|C:\\\\code\\\\toolkit|$WORKSPACE_SRC_PATH|g" setup.iss
sed -i "s|C:\\\\code|$WORKSPACE_BUILD_PATH|g" setup.iss
- name: Update version number in Oldies installer .iss
working-directory: ${{ env.EXTRAS_PATH }}/oldies/installer
shell: bash
run: |
VERSION_CODE=$(date +'%Y.%m')
sed -i 's/RELEASE/'"$VERSION_CODE"'/g' setup.iss
- name: Build Oldies installer
working-directory: ${{ env.EXTRAS_PATH }}/oldies/installer
run: ISCC.exe setup.iss
##----------------
## Build Unpacking
##----------------
- name: Unpack tools Unpacking
working-directory: ${{ env.INSTALLER_SCRIPT_PATH }}
run: python unpack-project.py -f ${{ env.EXTRAS_PATH }}/unpacking/toolkit
- name: Update Unpacking installer .iss config paths
working-directory: ${{ env.EXTRAS_PATH }}/unpacking/installer
shell: bash
run: |
WORKSPACE_BUILD_PATH=$(echo "${{ github.workspace }}" | tr '\\' '/')
WORKSPACE_SRC_PATH=$(echo "${{ env.SRC_PATH }}" | tr '\\' '/')
sed -i "s|C:\\\\code\\\\toolkit|$WORKSPACE_SRC_PATH|g" setup.iss
sed -i "s|C:\\\\code|$WORKSPACE_BUILD_PATH|g" setup.iss
- name: Update version number in Unpacking installer .iss
working-directory: ${{ env.EXTRAS_PATH }}/unpacking/installer
shell: bash
run: |
VERSION_CODE=$(date +'%Y.%m')
sed -i 's/RELEASE/'"$VERSION_CODE"'/g' setup.iss
- name: Build Unpacking installer
working-directory: ${{ env.EXTRAS_PATH }}/unpacking/installer
run: ISCC.exe setup.iss
- name: Generate checksums report
working-directory: ${{ env.INSTALLER_SCRIPT_PATH }}
run: |
Set-ExecutionPolicy Bypass -Scope Process -Force
.\generate-checksums.ps1 -Directory "${{ env.EXTRAS_PATH }}" -OutputFile "${{ github.workspace }}/extras_tools_checksums.txt"
.\generate-checksums.ps1 -Directory "${{ github.workspace }}" -FilePattern "*.exe" -NoRecurse -OutputFile "${{ github.workspace }}/extras_installer_checksums.txt"
- name: Upload Setup as Artifact
if: github.event_name != 'release'
uses: actions/upload-artifact@v4
with:
name: extras-setup-installer-artifact
path: |
${{ github.workspace }}/*.exe
${{ github.workspace }}/extras_tools_checksums.txt
${{ github.workspace }}/extras_installer_checksums.txt
- name: Upload Setup as Artifact to Release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v2
with:
files: |
${{ github.workspace }}/*.exe
${{ github.workspace }}/extras_tools_checksums.txt
${{ github.workspace }}/extras_installer_checksums.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}