release:
types: [published]
+permissions:
+ contents: read
+
jobs:
build:
+ permissions:
+ contents: write # for actions/upload-release-asset to upload release asset
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
- python-version: [3.7]
- os: [ubuntu-16.04, windows-2019]
+ os: [windows-2019, ubuntu-20.04, macos-latest]
include:
- os: windows-2019
pathsep: ";"
- executable_suffix: ".exe"
+ asset_name: black_windows.exe
executable_mime: "application/vnd.microsoft.portable-executable"
- - os: ubuntu-16.04
+ - os: ubuntu-20.04
pathsep: ":"
- executable_suffix: ".elf"
+ asset_name: black_linux
executable_mime: "application/x-executable"
+ - os: macos-latest
+ pathsep: ":"
+ asset_name: black_macos
+ executable_mime: "application/x-mach-binary"
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v2
+ - name: Set up latest Python
+ uses: actions/setup-python@v4
with:
- python-version: ${{ matrix.python-version }}
+ python-version: "*"
- name: Install dependencies
run: |
- name: Build binary
run: |
- python -m PyInstaller -F --name black${{ matrix.executable_suffix }} --add-data 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py
+ python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py
- name: Upload binary as release asset
uses: actions/upload-release-asset@v1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
- asset_path: dist/black${{ matrix.executable_suffix }}
- asset_name: black${{ matrix.executable_suffix }}
+ asset_path: dist/${{ matrix.asset_name }}
+ asset_name: ${{ matrix.asset_name }}
asset_content_type: ${{ matrix.executable_mime }}