mirror of
https://github.com/indetectables-net/toolkit.git
synced 2026-10-28 19:40:47 +00:00
111 lines
3.9 KiB
YAML
111 lines
3.9 KiB
YAML
name: Builder main installer
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
release:
|
|
types: [created]
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
env:
|
|
SRC_PATH: ${{ github.workspace }}/src
|
|
INSTALLER_SCRIPT_PATH: ${{ github.workspace }}/src/bin/installer/bin
|
|
FULL_INSTALLER_PATH: ${{ github.workspace }}/src/bin/installer/iss/full
|
|
LITE_INSTALLER_PATH: ${{ github.workspace }}/src/bin/installer/iss/lite
|
|
|
|
jobs:
|
|
build-job:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: ${{ env.SRC_PATH }}
|
|
|
|
- name: Setup Python 3.12
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Python packages
|
|
run: pip install py7zr pefile colorama
|
|
|
|
- name: Unpack tools
|
|
working-directory: ${{ env.INSTALLER_SCRIPT_PATH }}
|
|
run: python unpack-project.py -f ${{ env.SRC_PATH }}/toolkit
|
|
|
|
- name: Build documents
|
|
working-directory: ${{ env.INSTALLER_SCRIPT_PATH }}
|
|
run: ./build-docs.bat
|
|
|
|
- name: Update full installer .iss config paths
|
|
working-directory: ${{ env.FULL_INSTALLER_PATH }}
|
|
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 full installer .iss
|
|
working-directory: ${{ env.FULL_INSTALLER_PATH }}
|
|
shell: bash
|
|
run: |
|
|
VERSION_CODE=$(date +'%Y.%m')
|
|
sed -i 's/RELEASE/'"$VERSION_CODE"'/g' setup.iss
|
|
|
|
- name: Build full installer
|
|
working-directory: ${{ env.FULL_INSTALLER_PATH }}
|
|
run: ISCC.exe setup.iss
|
|
|
|
- name: Update lite installer .iss config paths
|
|
working-directory: ${{ env.LITE_INSTALLER_PATH }}
|
|
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 lite installer .iss
|
|
working-directory: ${{ env.LITE_INSTALLER_PATH }}
|
|
shell: bash
|
|
run: |
|
|
VERSION_CODE=$(date +'%Y.%m')
|
|
sed -i 's/RELEASE/'"$VERSION_CODE"'/g' setup.iss
|
|
|
|
- name: Build lite installer
|
|
working-directory: ${{ env.LITE_INSTALLER_PATH }}
|
|
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.SRC_PATH }}/toolkit" -OutputFile "${{ github.workspace }}/toolkit_tools_checksums.txt"
|
|
.\generate-checksums.ps1 -Directory "${{ github.workspace }}" -FilePattern "*.exe" -NoRecurse -OutputFile "${{ github.workspace }}/toolkit_installer_checksums.txt"
|
|
|
|
- name: Upload full Setup as Artifact
|
|
if: github.event_name != 'release'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: full-installer-artifact
|
|
path: ${{ github.workspace }}/*_Setup.exe
|
|
|
|
- name: Upload lite Setup as Artifact
|
|
if: github.event_name != 'release'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: lite-installer-artifact
|
|
path: ${{ github.workspace }}/*_Setup_lite.exe
|
|
|
|
- name: Upload all Setups as Release
|
|
if: github.event_name == 'release'
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
${{ github.workspace }}/*.exe
|
|
${{ github.workspace }}/toolkit_tools_checksums.txt
|
|
${{ github.workspace }}/toolkit_installer_checksums.txt
|