2024-08-25 18:05:27 +02:00

175 lines
4.1 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/*.bin
build/*.app/**/*
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/*.exe
build/*.bin
build/*.app/**/*
build-linux-arm64:
runs-on: ubuntu-latest
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-arm64
steps:
- name: Check runner architecture
run: uname -m
- name: Check-out repository
uses: actions/checkout@v1
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache-dependency-path: |
**/requirements*.txt
- 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-arm64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_linux-arm64
path: |
build/*.exe
build/*.bin
build/*.app/**/*
build-mac-arm64:
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
uses: Nuitka/Nuitka-Action@main
with:
nuitka-version: main
script-name: gofilecli.py
onefile: true
- name: Upload Artifact[osx-arm64]
uses: actions/upload-artifact@v4
with:
name: GoFileCLI_osx-arm64
path: |
build/*.exe
build/*.bin
build/*.app/**/*