Workflow: Use robust docker cp method for Windows builds to fix volume mount issues
Some checks failed
Build Tamigo CLI / Build Linux Binary (push) Successful in 50s
Build Tamigo CLI / Build Windows Binary (push) Failing after 15s

This commit is contained in:
Daniel Dybing
2026-03-11 13:56:11 +01:00
parent 2d910949ad
commit 411a2ae164
2 changed files with 21 additions and 10 deletions

View File

@@ -40,12 +40,22 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build Windows executable via Docker - name: Build Windows executable via Docker (Robust)
run: | run: |
docker run --rm \ # Create a container but don't start it yet
-v "${{ github.workspace }}:/src" \ docker create --name builder cdrx/pyinstaller-windows sh -c "cd /src && pip install -r requirements.txt && pyinstaller --onefile --name tamigo-cli tamigo.py"
cdrx/pyinstaller-windows \
sh -c "pip install -r requirements.txt && pyinstaller --onefile --name tamigo-cli tamigo.py" # Copy source code into the container
docker cp . builder:/src
# Start the container and wait for it to finish
docker start -a builder
# Copy the results back to the runner
docker cp builder:/src/dist .
# Clean up
docker rm builder
- name: Debug - List output files - name: Debug - List output files
run: ls -R dist/ run: ls -R dist/

View File

@@ -34,12 +34,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build Windows executable via Docker - name: Build Windows executable via Docker (Robust)
run: | run: |
docker run --rm \ docker create --name release_builder cdrx/pyinstaller-windows sh -c "cd /src && pip install -r requirements.txt && pyinstaller --onefile --name tamigo-cli tamigo.py"
-v "${{ github.workspace }}:/src" \ docker cp . release_builder:/src
cdrx/pyinstaller-windows \ docker start -a release_builder
sh -c "pip install -r requirements.txt && pyinstaller --onefile --name tamigo-cli tamigo.py" docker cp release_builder:/src/dist .
docker rm release_builder
- name: Debug - List output files - name: Debug - List output files
run: ls -R dist/ run: ls -R dist/
- name: Rename for release - name: Rename for release