Skip to content

[Help needed] use pyproject.toml and poetry #358

[Help needed] use pyproject.toml and poetry

[Help needed] use pyproject.toml and poetry #358

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: PyInstaller
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events
push:
branches:
- master
- premerge
pull_request:
branches:
- master
- premerge
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: windows-latest
defaults:
run:
shell: bash
env:
PYTEST_ADDOPTS: "-rA --color=yes --tb=long --showlocals"
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Fetch tags
run: git fetch --prune --unshallow --tags
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
- name: Load cached venv
id: cached-pip-wheels
uses: actions/cache@v3
with:
path: ~/.cache
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
run: poetry install --no-interaction --no-root
- name: Build with PyInstaller for windows
run: poetry run make
- name: Switch code page
run: |
chcp 65001
- name: Test JavSP.exe
run: poetry run pytest unittest/test_exe.py
- name: Set VERSION variable for windows
run: |
echo "VERSION=$(poetry run make\gen_ver_hook.py)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Upload build artifact
uses: actions/upload-artifact@v1
with:
name: JavSP-${{ env.VERSION }}-Windows-amd64
path: dist/JavSP.exe