X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/74e51e6a829d48db1b4da4f1eac935647d1655cc..a538ab76636bbe71b7fbfeaf56fd8e61805df38f:/.github/workflows/upload_binary.yml diff --git a/.github/workflows/upload_binary.yml b/.github/workflows/upload_binary.yml index 46d92ab..22535a6 100644 --- a/.github/workflows/upload_binary.yml +++ b/.github/workflows/upload_binary.yml @@ -1,44 +1,56 @@ -name: Upload self-contained binaries +name: Publish executables on: release: types: [published] +permissions: + contents: write # actions/upload-release-asset needs this. + jobs: build: 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 + - name: Install Black and PyInstaller run: | - python -m pip install --upgrade pip wheel setuptools - python -m pip install . + python -m pip install --upgrade pip wheel + python -m pip install .[colorama] python -m pip install pyinstaller - - name: Build binary + - name: Build executable with PyInstaller + run: > + python -m PyInstaller -F --name ${{ matrix.asset_name }} --add-data + 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py + + - name: Quickly test executable run: | - python -m PyInstaller -F --name black${{ matrix.executable_suffix }} --add-data 'src/blib2to3${{ matrix.pathsep }}blib2to3' src/black/__main__.py + ./dist/${{ matrix.asset_name }} --version + ./dist/${{ matrix.asset_name }} src --verbose - name: Upload binary as release asset uses: actions/upload-release-asset@v1 @@ -46,6 +58,6 @@ jobs: 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 }}