track test data #259
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
workflow_dispatch: | |
jobs: | |
build: | |
name: build | |
runs-on: ${{ matrix.os }} | |
permissions: | |
contents: write | |
env: | |
PYTHONPATH: src | |
strategy: | |
fail-fast: false | |
matrix: | |
# available images: https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
# "macos-latest" is ARM based | |
# "macos-13" is Intel based | |
os: ["windows-latest", "ubuntu-latest", "macos-latest", "macos-13"] | |
# build "macos-13" executable only at release | |
# https://github.com/orgs/community/discussions/26253?sort=top#discussioncomment-3250989 | |
is_release: | |
- ${{ startsWith(github.ref, 'refs/tags/v') }} | |
exclude: | |
- is_release: false | |
os: "macos-13" | |
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 |