prepare release 1.1.18 #633
Workflow file for this run
This file contains hidden or 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: | |
| branches: | |
| - master | |
| tags: | |
| - "**" | |
| paths-ignore: | |
| - "**.md" | |
| pull_request: | |
| paths-ignore: | |
| - "**.md" | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: build | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: write | |
| env: | |
| RUNNER_MACHINE: ${{ matrix.os }} # TODO: Is there a built-in env variable? | |
| PYTHONPATH: jimmy | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # available images: https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
| # "macos-latest" to support ARM based MACs | |
| # "macos-15-intel" to support Intel based MACs | |
| # "ubuntu-22.04" to get the lowest possible glibc version for compatibility | |
| os: ["windows-latest", "ubuntu-22.04", "macos-latest", "macos-15-intel"] | |
| # build "macos-15-intel" 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-15-intel" | |
| - is_release: false | |
| os: "ubuntu-latest" | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| # fetch all tags for the "git describe" later | |
| fetch-depth: 0 | |
| submodules: true | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.14.0" | |
| cache: "pip" | |
| cache-dependency-path: "requirements/requirements*.txt" | |
| - name: Install dependencies | |
| # install only the really required modules before the pyinstaller build | |
| run: | | |
| pip install -r requirements/requirements-build.txt | |
| python download_binaries.py | |
| - name: Build executables with pyinstaller | |
| run: | | |
| python -m PyInstaller jimmy.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* | |
| ./bin/copyright.pandoc | |
| - name: Check executable size | |
| shell: bash | |
| run: ls -lh ./dist | |
| - name: Smoke test | |
| working-directory: ./dist # run in a different directory to make sure that the paths are working | |
| run: | | |
| # default pandoc converter | |
| ./jimmy* cli ../test/data/test_data/default_format/arbitrary_folder --stdout-log-level DEBUG | |
| # filters and frontmatter module | |
| ./jimmy* cli ../test/data/test_data/obsidian/test_1_frontmatter --format obsidian | |
| ./jimmy* cli ../test/data/test_data/obsidian/test_1_frontmatter --format obsidian --exclude-tags "*" | |
| ./jimmy* cli ../test/data/test_data/obsidian/test_1_frontmatter --format obsidian --include-notes-with-tags "*" | |
| ./jimmy* cli ../test/data/test_data/obsidian/test_1_frontmatter --format obsidian --include-notes "Second sample note" "Sample note" | |
| # textbundle converter called from bear converter | |
| ./jimmy* cli ../test/data/test_data/bear/test_1_frontmatter/backup.bear2bk --format bear --stdout-log-level DEBUG | |
| # cryptography module | |
| ./jimmy* cli ../test/data/test_data/colornote/test_1_frontmatter/colornote-20241014.backup --format colornote --password 1234 --stdout-log-level DEBUG | |
| # sqlite3 module | |
| ./jimmy* cli ../test/data/test_data/qownnotes/test_1/note_folder --format qownnotes --stdout-log-level DEBUG | |
| # pyyaml module | |
| ./jimmy* cli ../test/data/test_data/rednotebook/test_2/RedNotebook-Backup-2024-09-15.zip --format rednotebook --stdout-log-level DEBUG | |
| # anytype module | |
| ./jimmy* cli ../test/data/test_data/anytype/test_1/Anytype.20241112.175339.64 --format anytype --stdout-log-level DEBUG | |
| # # onenote conversion with bundled executable | |
| # ./jimmy* cli ../test/data/test_data/onenote/test_1_frontmatter/OneDrive_2025-09-28.zip --format onenote --stdout-log-level DEBUG | |
| # - name: Scan for viruses (just for information) | |
| # if: runner.os == 'Linux' | |
| # run: | | |
| # sudo apt install -y clamav | |
| # clamscan ./dist/jimmy* |