Skip to content

add PowerShell

add PowerShell #36

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: PlayRanker
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
shell: pwsh
run: |
python -m pip install --upgrade pip
pip install flake8 pytest pyinstaller
if (Test-Path requirements.txt) { pip install -r requirements.txt }
- name: lint with flake8
shell: pwsh
run: |
flake8 . --count --select=e9,f63,f7,f82 --show-source --statistics
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
shell: pwsh
run: |
pytest
- name: Build executable
shell: pwsh
run: |
pyinstaller --onefile --add-data "config.yml;." --name PlayRanker.exe app.py
- name: Get version number
id: get_version
shell: pwsh
run: echo "version=v0.1.$(git rev-list --count HEAD)" >> $env:GITHUB_ENV
- name: Create zip file
shell: pwsh
run: |
New-Item -Path release -ItemType Directory -Force
Copy-Item -Path .\dist\PlayRanker.exe -Destination .\release\PlayRanker.exe
Copy-Item -Path .\config.yml -Destination .\release\config.yml
Compress-Archive -Path .\release\* -DestinationPath .\release\PlayRanker.zip
- name: Create GitHub Release
id: create_release
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
tag_name: ${{ env.version }}
release_name: Release ${{ env.version }}
draft: false
prerelease: false
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./release/PlayRanker.zip
asset_name: PlayRanker.zip
asset_content_type: application/zip