cdrx / docker-pyinstaller

PyInstaller for Linux and Windows inside Docker
MIT License
616 stars 238 forks source link

GitLab's CI and --onefile option #83

Closed for-coursera closed 4 years ago

for-coursera commented 4 years ago

I have a pipeline set at GitLab to build Linux and Windows binaries.

My .gitlab-ci.yml looks like this:

    image: docker:stable

    variables:
    BASE_IMAGE: cdrx/pyinstaller
    IMAGE_TAG: python3

    services:
    - docker:dind

    .build: &build
    script:
        - docker run --rm -v "$(pwd):/src/" ${BASE_IMAGE}-${TARGET_OS}:${IMAGE_TAG} "pyinstaller --onefile myScript.py"
    artifacts:
        paths:
        - dist/myScript.py/

    build-windows:
    <<: *build
    variables:
        TARGET_OS: windows

    build-linux:
    <<: *build
    variables:
        TARGET_OS: linux

However, after finishing the job it says that there are no files to upload:

 [....]
 6674 INFO: checking PYZ
 6675 INFO: Building PYZ because PYZ-00.toc is non existent
 6675 INFO: Building PYZ (ZlibArchive) /src/build/myScript/PYZ-00.pyz
 7185 INFO: Building PYZ (ZlibArchive) /src/build/myScript/PYZ-00.pyz completed successfully.
 7194 INFO: checking PKG
 7195 INFO: Building PKG because PKG-00.toc is non existent
 7195 INFO: Building PKG (CArchive) PKG-00.pkg
 17274 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
 17305 INFO: Bootloader /root/.pyenv/versions/3.7.5/lib/python3.7/site-packages/PyInstaller/bootloader/Linux-64bit/run
 17306 INFO: checking EXE
 17307 INFO: Building EXE because EXE-00.toc is non existent
 17307 INFO: Building EXE from EXE-00.toc
 17308 INFO: Appending archive to ELF section in EXE /src/dist/myScript
 17502 INFO: Building EXE from EXE-00.toc completed successfully.
Uploading artifacts...
 WARNING: dist/myScript.py/: no matching files          
 ERROR: No files to upload                          
 Job succeeded

And if I simply remove that --onefile option, then everything works just fine, a whole bundle uploads (and works) OK.

What am I missing? :)

for-coursera commented 4 years ago

Sorry, was incredibly stupid :)