Skip to content

add types and streamline conversion functions (a bit) #199

add types and streamline conversion functions (a bit)

add types and streamline conversion functions (a bit) #199

Workflow file for this run

name: build
on:
push:
paths-ignore:
- "**.md"
pull_request:
workflow_dispatch:
jobs:
build:
name: build
runs-on: ${{ matrix.os }}
permissions:
contents: write
env:
PYTHONPATH: src
strategy:
fail-fast: false
matrix:
os: ["windows-latest", "ubuntu-latest", "macos-latest"]
steps:
- uses: actions/checkout@v4
with:
# fetch all tags for the "git describe" later
fetch-depth: 0
submodules: true
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
# install only the really required modules before the pyinstaller build
run: |
pip install -r requirements/requirements-build.txt
python -c 'from pypandoc.pandoc_download import download_pandoc; download_pandoc(version="3.4")'
- name: Build executables with pyinstaller
run: |
# store the latest tag in static file
git describe --tags --abbrev=0 > .version
python -m PyInstaller jimmy_cli.spec
# python -m PyInstaller jimmy_gui.spec
- name: Release
uses: softprops/action-gh-release@v2
# release only if there is a release tag
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
with:
files: ./dist/jimmy*
- name: Smoke test
run: |
./dist/jimmy-cli* test/data/test_data/default_format/arbitrary_folder
./dist/jimmy-cli* test/data/test_data/obsidian/test_1 --format obsidian
./dist/jimmy-cli* test/data/test_data/obsidian/test_1 --format obsidian --exclude-tags "*"
./dist/jimmy-cli* test/data/test_data/obsidian/test_1 --format obsidian --include-notes-with-tags "*"
./dist/jimmy-cli* test/data/test_data/obsidian/test_1 --format obsidian --include-notes "Second sample note" "Sample note"
./dist/jimmy-cli* test/data/test_data/bear/test_1/backup.bear2bk --format bear