+++ /dev/null
-name: Upload self-contained binaries
-
-on:
- release:
- types: [published]
-
-jobs:
- build:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [windows-2019, ubuntu-20.04, macos-latest]
- include:
- - os: windows-2019
- pathsep: ";"
- asset_name: black_windows.exe
- executable_mime: "application/vnd.microsoft.portable-executable"
- platform: windows
- - os: ubuntu-20.04
- pathsep: ":"
- asset_name: black_linux
- executable_mime: "application/x-executable"
- platform: unix
- - os: macos-latest
- pathsep: ":"
- asset_name: black_macos
- executable_mime: "application/x-mach-binary"
- platform: macos
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Set up latest Python
- uses: actions/setup-python@v2
- with:
- python-version: "*"
-
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip wheel setuptools
- python -m pip install .
- python -m pip install pyinstaller
-
- - name: Build binary
- run: >
- python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data
- 'src/blib2to3${{ matrix.pathsep }}blib2to3' --hidden-import platformdirs.${{
- matrix.platform }} src/black/__main__.py
-
- - name: Upload binary as release asset
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ github.event.release.upload_url }}
- asset_path: dist/${{ matrix.asset_name }}
- asset_name: ${{ matrix.asset_name }}
- asset_content_type: ${{ matrix.executable_mime }}