hydra/.github/workflows/build.yml
2024-04-18 23:27:50 +01:00

77 lines
1.9 KiB
YAML

name: Build
on:
push:
branches: "**"
jobs:
build:
strategy:
matrix:
os:
[
{
name: windows-latest,
build_path: out/Hydra-win32-x64,
artifact: Hydra-win32-x64,
},
{
name: ubuntu-latest,
build_path: out/Hydra-linux-x64,
artifact: Hydra-linux-x64,
},
]
runs-on: ${{ matrix.os.name }}
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.11.1
- name: Install dependencies
run: yarn
- name: Lint
run: yarn lint
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies
run: pip install -r requirements.txt
- name: Build with Nuitka
uses: Nuitka/Nuitka-Action@main
with:
nuitka-version: main
working-directory: torrent-client
script-name: main.py
standalone: true
enable-plugins: libtorrent
output-dir: resources/dist
output-file: hydra-download-manager
windows-icon-from-ico: images/icon.ico
# - name: Build with pyinstaller
# run: pyinstaller torrent-client/main.py --distpath resources/dist --icon=images/icon.ico -n hydra-download-manager
- name: Publish
run: yarn run publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
STEAMGRIDDB_API_KEY: ${{ secrets.STEAMGRIDDB_API_KEY }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_DSN: ${{ vars.SENTRY_DSN }}
- name: Create artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os.artifact }}
path: ${{ matrix.os.build_path }}