Skip to content

Remove broken duplicate process check #8

Remove broken duplicate process check

Remove broken duplicate process check #8

Workflow file for this run

name: Build Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Build Windows EXE
run: |
pyinstaller --onefile --windowed --name ArpCut `
--add-data "exe/manuf;manuf" `
--icon exe/icon.ico `
--uac-admin `
--hidden-import PyQt5 `
--hidden-import PyQt5.QtWidgets `
--hidden-import PyQt5.QtCore `
--hidden-import PyQt5.QtGui `
--hidden-import PyQt5.sip `
--hidden-import qdarkstyle `
--hidden-import scapy `
--hidden-import scapy.all `
--hidden-import scapy.layers.all `
--hidden-import manuf `
--hidden-import pyperclip `
--hidden-import requests `
--hidden-import six `
--collect-all manuf `
--collect-all scapy `
--collect-all qdarkstyle `
src/elmocut.py
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: ArpCut-Windows
path: dist/ArpCut.exe
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller pillow
- name: Build macOS App
run: |
pyinstaller --onedir --windowed --name ArpCut \
--add-data "exe/manuf:manuf" \
--icon exe/icon.ico \
--hidden-import PyQt5 \
--hidden-import PyQt5.QtWidgets \
--hidden-import PyQt5.QtCore \
--hidden-import PyQt5.QtGui \
--hidden-import PyQt5.sip \
--hidden-import qdarkstyle \
--hidden-import scapy \
--hidden-import scapy.all \
--hidden-import scapy.layers.all \
--hidden-import manuf \
--hidden-import pyperclip \
--hidden-import requests \
--hidden-import six \
--collect-all manuf \
--collect-all scapy \
--collect-all qdarkstyle \
src/elmocut.py
- name: Create ZIP
run: |
cd dist && zip -r ../ArpCut-macOS.zip ArpCut.app
- name: Upload macOS artifact
uses: actions/upload-artifact@v4
with:
name: ArpCut-macOS
path: ArpCut-macOS.zip
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libxcb-xinerama0 libxkbcommon-x11-0
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Build Linux binary
run: |
pyinstaller --onefile --name ArpCut \
--add-data "exe/manuf:manuf" \
--hidden-import PyQt5 \
--hidden-import PyQt5.QtWidgets \
--hidden-import PyQt5.QtCore \
--hidden-import PyQt5.QtGui \
--hidden-import PyQt5.sip \
--hidden-import qdarkstyle \
--hidden-import scapy \
--hidden-import scapy.all \
--hidden-import scapy.layers.all \
--hidden-import manuf \
--hidden-import pyperclip \
--hidden-import requests \
--hidden-import six \
--collect-all manuf \
--collect-all scapy \
--collect-all qdarkstyle \
src/elmocut.py
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: ArpCut-Linux
path: dist/ArpCut
release:
needs: [build-windows, build-macos, build-linux]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: List artifacts
run: find artifacts -type f
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
artifacts/ArpCut-Windows/ArpCut.exe
artifacts/ArpCut-macOS/ArpCut-macOS.zip
artifacts/ArpCut-Linux/ArpCut
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}