name: Compile standalone binary on: release: types: [published] workflow_dispatch: permissions: contents: read jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka 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 --follow-imports Whatsapp_Chat_Exporter/__main__.py cp __main__.bin wtsexporter_linux_x64 sha256sum wtsexporter_linux_x64 - uses: actions/upload-artifact@v3 with: name: binary-linux path: | ./wtsexporter_linux_x64 windows: runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka 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 --follow-imports Whatsapp_Chat_Exporter\__main__.py copy __main__.exe wtsexporter_x64.exe Get-FileHash wtsexporter_x64.exe - uses: actions/upload-artifact@v3 with: name: binary-windows path: | .\wtsexporter_x64.exe macos: runs-on: macos-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip pip install pycryptodome javaobj-py3 ordered-set zstandard nuitka 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 --follow-imports Whatsapp_Chat_Exporter/__main__.py cp __main__.bin wtsexporter_macos_x64 shasum -a 256 wtsexporter_macos_x64 - uses: actions/upload-artifact@v3 with: name: binary-macos path: | ./wtsexporter_macos_x64