2024-08-25 18:40:35 +02:00

137 lines
3.4 KiB
YAML

name: Build Latest and Release
on:
workflow_dispatch:
inputs:
doRelease:
description: 'Publish new release'
type: boolean
default: false
required: false
tag:
type: string
description: 'Release version tag (e.g. v1.2.3)'
required: true
ref:
type: string
description: 'Git ref from which to release'
required: true
default: 'main'
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
jobs:
build-win-x64:
runs-on: windows-latest
steps:
- name: Check-out repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path: |
**/requirements*.txt
architecture: 'x64'
- name: Install Dependencies
run: |
pip install -r requirements.txt
- name: Build Executable with Nuitka
uses: Nuitka/Nuitka-Action@main
with:
nuitka-version: main
script-name: gofilecli.py
onefile: true
- name: Upload Artifact[win-x64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_win-x64
path: |
build/*.exe
build-linux-x64:
runs-on: ubuntu-latest
steps:
- name: Check runner architecture
run: uname -m
- name: Check-out repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path: |
**/requirements*.txt
architecture: 'x64'
- name: Install Dependencies
run: |
pip install -r requirements.txt
- name: Build Executable with Nuitka
uses: Nuitka/Nuitka-Action@main
with:
nuitka-version: main
script-name: gofilecli.py
onefile: true
- name: Upload Artifact[linux-x64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_linux-x64
path: |
build/*.bin
build-macos:
runs-on: macos-latest
steps:
- name: Check runner architecture
run: uname -m
- name: Check-out repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path: |
**/requirements*.txt
architecture: 'arm64'
- name: Install Dependencies
run: |
pip install -r requirements.txt
- name: Build Executable with Nuitka
# --macos-app-icon=resources/icon.icns
run: |
python -m nuitka --standalone --assume-yes-for-downloads --output-dir=dist --macos-create-app-bundle --macos-target-arch=arm64 gofilecli.py
python -m nuitka --standalone --assume-yes-for-downloads --output-dir=dist_x86_64 --macos-create-app-bundle --macos-target-arch=x86_64 gofilecli.py
- name: Upload Artifact[osx-arm64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_osx-x64
path: |
dist_x86_64/*
- name: Upload Artifact[osx-arm64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_osx-arm64
path: |
build/*