提交 96dabeb8 编写于 作者: K Kentaro Wada

Add release.yml

上级 83f89279
name: release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: false
- name: Create release url file
run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt
- name: Save release url file for publish
uses: actions/upload-artifact@v1
with:
name: release_url
path: release_url.txt
publish:
needs: [release]
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: goanpeca/setup-miniconda@v1
with:
auto-update-conda: true
python-version: '3.7'
- name: Install main
shell: bash -l {0}
run: |
pip install .
- name: Run pyinstaller
shell: bash -l {0}
run: |
pip install 'pyinstaller!=3.4'
pip install 'setuptools<45.0.0'
pyinstaller labelme.spec
- name: Load release url file from release job
uses: actions/download-artifact@v1
with:
name: release_url
- name: Get release file name & upload url
id: get_release_info
run: |
echo "::set-output name=upload_url::$(cat release_url/release_url.txt)"
- name: Upload release executable on macOS & Linux
id: upload_release_executable_macos_linux
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: ./dist/labelme
asset_name: labelme-${{ runner.os }}
asset_content_type: application/octet-stream
if: runner.os != 'Windows'
- name: Upload release executable on Windows
id: upload_release_executable_windows
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: ./dist/labelme.exe
asset_name: Labelme.exe
asset_content_type: application/octet-stream
if: runner.os == 'Windows'
- name: Create dmg for macOS
run: |
npm install -g create-dmg
cd dist
create-dmg Labelme.app || test -f Labelme\ 0.0.0.dmg
mv Labelme\ 0.0.0.dmg Labelme.dmg
if: runner.os == 'macOS'
- name: Upload release app on macOS
id: upload_release_app_macos
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: ./dist/Labelme.dmg
asset_name: Labelme.dmg
asset_content_type: application/octet-stream
if: runner.os == 'macOS'
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册