forked from JackMcKew/pyinstaller-action-windows
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
78 lines (77 loc) · 2.92 KB
/
action.yml
File metadata and controls
78 lines (77 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Keep this action name stable so Marketplace releases continue to publish
# to https://github.com/marketplace/actions/cythinst-64.
name: 'Cythinst 64'
description: 'Build Windows PyInstaller executables with Wine, uv, Cython, and Windows Python 3.13'
author: 'PlohnenSoftware'
branding:
icon: 'box'
color: 'green'
inputs:
path:
description: 'Project directory containing the PyInstaller spec file.'
required: true
default: src
pypi_url:
description: 'Custom PyPI base URL used for pip compatibility when writing pip.ini.'
required: false
default: https://pypi.python.org/
pypi_index_url:
description: 'Custom Python package index URL used by uv and pip.'
required: false
default: https://pypi.python.org/simple
spec:
description: 'PyInstaller spec file to build. Relative to the selected path.'
required: false
default: "*.spec"
requirements:
description: 'Requirements file, relative to path. When present, it is installed before pyproject.toml dependencies are considered.'
required: false
default: "requirements.txt"
cython_out:
description: 'Optional output directory for compiled .pyd files, relative to the selected path.'
required: false
default: ""
zip_name:
description: 'Optional .zip file to create after a successful build, relative to the repository root. Leave empty to skip zip creation.'
required: false
default: ""
sevenzip_name:
description: 'Optional .7z file to create after a successful build, relative to the repository root. Uses the same zip_paths archive-root mapping as zip_name.'
required: false
default: ""
zip_paths:
description: 'Newline-separated repository-root-relative files, directories, or glob patterns. Each selected path is placed at the archive root for both .zip and .7z packages.'
required: false
default: ""
zip_method:
description: 'ZIP compression method: deflate or store. Use sevenzip_name for stronger compression.'
required: false
default: "deflate"
zip_level:
description: 'ZIP compression level from 0 to 9. Used by deflate; accepted for store for a stable interface.'
required: false
default: "9"
outputs:
output:
description: 'zip_name when a ZIP is created, sevenzip_name when only a 7z is created, otherwise <path>/dist/windows.'
dist:
description: 'PyInstaller output directory, usually <path>/dist/windows.'
zip_output:
description: 'Created ZIP package path when zip_name is set.'
sevenzip_output:
description: 'Created 7z package path when sevenzip_name is set.'
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.path }}
- ${{ inputs.pypi_url }}
- ${{ inputs.pypi_index_url }}
- ${{ inputs.spec }}
- ${{ inputs.requirements }}
- ${{ inputs.cython_out }}
- ${{ inputs.zip_name }}
- ${{ inputs.zip_paths }}
- ${{ inputs.zip_method }}
- ${{ inputs.zip_level }}
- ${{ inputs.sevenzip_name }}