-
Notifications
You must be signed in to change notification settings - Fork 1
65 lines (63 loc) · 2.56 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
# install only the really required modules before the pyinstaller build
run: pip install -r requirements/requirements-build.txt
- 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: |
# pandoc and asciidoc converter
./dist/jimmy-cli* test/data/test_data/default_format/arbitrary_folder
# filters and frontmatter module
./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"
# textbundle converter called from bear converter
./dist/jimmy-cli* test/data/test_data/bear/test_1/backup.bear2bk --format bear
# cryptography module
./dist/jimmy-cli* test/data/test_data/colornote/test_1/colornote-20241014.backup --format colornote --password 1234
# sqlite3 module
./dist/jimmy-cli* test/data/test_data/qownnotes/test_1/note_folder --format qownnotes
# pyyaml module
./dist/jimmy-cli* test/data/test_data/rednotebook/test_2/RedNotebook-Backup-2024-09-15.zip --format rednotebook
# anytype module
./dist/jimmy-cli* test/data/test_data/anytype/test_1/Anytype.20241112.175339.64 --format anytype