Skip to content

Commit

Permalink
Use manylinux Docker image to build injected attach binaries for Linux.
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavel Minaev committed Aug 23, 2023
1 parent 12675a8 commit f7e3091
Showing 1 changed file with 31 additions and 49 deletions.
80 changes: 31 additions & 49 deletions .github/workflows/attach_to_process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,91 +10,73 @@ env:

jobs:
windows-binaries:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: true
matrix:
name: ["windows-py39"]

include:
- name: "windows-py39"
python-version: "3.9"
os: windows-latest
runs-on: windows-latest

steps:
- uses: actions/checkout@v3

- name: Compile Windows binaries
shell: powershell
run: |
rm $env:PYDEVD_ATTACH_TO_PROCESS\* -include *.exe,*.dll,*.pdb
cd $env:pydevd_attach_to_process\windows
rm ${{ env.PYDEVD_ATTACH_TO_PROCESS }}\* -include *.exe,*.dll,*.pdb
cd ${{ env.PYDEVD_ATTACH_TO_PROCESS }}\windows
.\compile_windows.bat
- name: Upload Windows binaries
uses: actions/upload-artifact@v3
with:
name: pydevd_attach_to_process-windows
path: |
${{env.PYDEVD_ATTACH_TO_PROCESS}}\*.exe
${{env.PYDEVD_ATTACH_TO_PROCESS}}\*.dll
${{env.PYDEVD_ATTACH_TO_PROCESS}}\*.pdb
linux-binaries:
runs-on: ${{ matrix.os }}
${{ env.PYDEVD_ATTACH_TO_PROCESS }}\*.exe
${{ env.PYDEVD_ATTACH_TO_PROCESS }}\*.dll
${{ env.PYDEVD_ATTACH_TO_PROCESS }}\*.pdb
strategy:
fail-fast: true
matrix:
name: ["linux-py39"]

include:
- name: "linux-py39"
python-version: "3.9"
os: ubuntu-20.04
mac-binaries:
runs-on: macos-latest

steps:
- uses: actions/checkout@v3

- name: Compile Linux binaries
- name: Compile macOS binaries
shell: bash
run: |
rm $PYDEVD_ATTACH_TO_PROCESS/*.so
cd $PYDEVD_ATTACH_TO_PROCESS/linux_and_mac
bash ./compile_linux.sh
rm ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/*.dylib
cd ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/linux_and_mac
bash ./compile_mac.sh
- name: Upload Linux binaries
- name: Upload macOS binaries
uses: actions/upload-artifact@v3
with:
name: pydevd_attach_to_process-linux
path: ${{env.PYDEVD_ATTACH_TO_PROCESS}}/*.so
name: pydevd_attach_to_process-macos
path: ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/*.dylib

mac-binaries:
runs-on: ${{matrix.os}}
linux-binaries:
runs-on: ubuntu-latest

strategy:
fail-fast: true
container:
image: ${{ matrix.container-image }}
matrix:
name: ["macos-py39"]

arch: [x86, amd64]
include:
- name: "macos-py39"
python-version: "3.9"
os: macos-latest
- arch: x86
container-image: quay.io/pypa/manylinux2014_i686
- arch: amd64
container-image: quay.io/pypa/manylinux2014_x86_64

steps:
- uses: actions/checkout@v3

- name: Compile macOS binaries
- name: Compile Linux binaries
shell: bash
run: |
rm $PYDEVD_ATTACH_TO_PROCESS/*.dylib
cd $PYDEVD_ATTACH_TO_PROCESS/linux_and_mac
bash ./compile_mac.sh
rm ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/*.so
cd ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/linux_and_mac
g++ -std=c++11 -shared -fPIC -nostartfiles -o ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/attach_linux_amd64.so ${{ env.PYDEVD_ATTACH_TO_PROCESS }}//linux_and_mac/attach.cpp
- name: Upload macOS binaries
- name: Upload Linux binaries
uses: actions/upload-artifact@v3
with:
name: pydevd_attach_to_process-macos
path: ${{env.PYDEVD_ATTACH_TO_PROCESS}}/*.dylib
name: pydevd_attach_to_process-linux-${{ matrix.arch }}
path: ${{ env.PYDEVD_ATTACH_TO_PROCESS }}/*.so

0 comments on commit f7e3091

Please sign in to comment.