mirror of
https://github.com/KnugiHK/WhatsApp-Chat-Exporter.git
synced 2026-02-01 23:29:08 +00:00
101 lines
3.1 KiB
YAML
101 lines
3.1 KiB
YAML
name: Compile standalone binary
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
attestations: write
|
|
|
|
|
|
jobs:
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka==2.8.9
|
|
pip install .
|
|
- name: Build binary with Nuitka
|
|
run: |
|
|
python -m nuitka --onefile \
|
|
--include-data-file=./Whatsapp_Chat_Exporter/whatsapp.html=./Whatsapp_Chat_Exporter/whatsapp.html \
|
|
--assume-yes-for-downloads Whatsapp_Chat_Exporter --output-filename=wtsexporter_linux_x64
|
|
sha256sum wtsexporter_linux_x64
|
|
- name: Generate artifact attestation
|
|
uses: actions/attest-build-provenance@v3
|
|
with:
|
|
subject-path: ./wtsexporter_linux_x64
|
|
- uses: actions/upload-artifact@v6
|
|
with:
|
|
name: binary-linux
|
|
path: |
|
|
./wtsexporter_linux_x64
|
|
|
|
windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka==2.8.9
|
|
pip install .
|
|
- name: Build binary with Nuitka
|
|
run: |
|
|
python -m nuitka --onefile --include-data-file=./Whatsapp_Chat_Exporter/whatsapp.html=./Whatsapp_Chat_Exporter/whatsapp.html --assume-yes-for-downloads Whatsapp_Chat_Exporter --output-filename=wtsexporter
|
|
Rename-Item -Path "wtsexporter.exe" -NewName "wtsexporter_x64.exe"
|
|
Get-FileHash wtsexporter_x64.exe
|
|
- name: Generate artifact attestation
|
|
uses: actions/attest-build-provenance@v3
|
|
with:
|
|
subject-path: .\wtsexporter_x64.exe
|
|
- uses: actions/upload-artifact@v6
|
|
with:
|
|
name: binary-windows
|
|
path: |
|
|
.\wtsexporter_x64.exe
|
|
|
|
macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka==2.8.9
|
|
pip install .
|
|
- name: Build binary with Nuitka
|
|
run: |
|
|
python -m nuitka --onefile \
|
|
--include-data-file=./Whatsapp_Chat_Exporter/whatsapp.html=./Whatsapp_Chat_Exporter/whatsapp.html \
|
|
--assume-yes-for-downloads Whatsapp_Chat_Exporter --output-filename=wtsexporter_macos_arm64
|
|
shasum -a 256 wtsexporter_macos_arm64
|
|
- name: Generate artifact attestation
|
|
uses: actions/attest-build-provenance@v3
|
|
with:
|
|
subject-path: ./wtsexporter_macos_arm64
|
|
- uses: actions/upload-artifact@v6
|
|
with:
|
|
name: binary-macos
|
|
path: |
|
|
./wtsexporter_macos_arm64
|
|
|