Repository navigation
Windows and Linux x64 preview builds - #50
Merged
Merged
Conversation
- Compile on Linux (ulimit-limited, Tectonic untrusted mode) and Windows (untrusted mode, wall timer, taskkill tree stop) instead of refusing. - Prepare per-platform Biber 2.17 runtimes; Windows/Linux expand the PAR archive into a persistent per-pin cache. Add scripts/pin-biber.mjs and a workflow to record the upstream archive digests. - Adopt the identical local compiler for projects pinned on another OS. - electron-builder targets: NSIS + zip (win), AppImage + deb + tar.gz (linux). - Release workflow builds both, runs cross-platform tests and a native compile smoke test, and attaches installers to a GitHub pre-release. - Bump to 0.1.0-preview.6 and refresh the npm notice lock digest.
SHA-256 recorded from the SourceForge downloads; SHA-1 and MD5 match the values SourceForge publishes for both files.
- Run the desktop build workflow on PRs that touch the app or packaging, without the tag check or publishing. - Pass the release tag through env and upload only Folio-named installers. - Skip taskkill once the compiler has exited so a reused PID is never hit. - Embed the Folio icon in the Windows executable. - Docs: Biber archives are pinned; previews are not published yet.
The Windows runner checked out text files with CRLF, so the pinned pack-v1 core notices hash no longer matched and runtime:prepare failed. Folio hashes many shipped text files, so check out LF everywhere.
… URL Tectonic parses --bundle as a URL first, so D:\...\bundle.zip read as scheme "d:" and was rejected as an invalid bundle. Windows now passes a file: URL, which Tectonic maps back to the local path.
…m's paths compilerEnvironment took a platform argument but joined POSIX paths with the host path module, so the Linux case produced backslashes when the cross-platform test ran on Windows.
Tectonic resolves its standard folders through the Windows known-folder
API, which failed with the stripped environment ("Unable to find standard
directories for platform"), so every Windows compile failed. Pass the
account's profile and system-folder variables through; temp files, the
engine cache and the Biber cache stay in Folio's folders.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Grawish · project thread
Before: Folio only builds and compiles PDFs on Apple silicon Macs. The Windows/Linux work from 5 October sat on an unmerged branch with unpinned Biber downloads, so
npm run setuprefused to run on either platform.After:
npm run dist:winandnpm run dist:linuxproduce an NSIS installer + zip and an AppImage + .deb + tar.gz, compiling with the same pinned Tectonic 0.17.0, Biber 2.17 andfolio-core-v1bundle as the Mac. Every PR that touches the app or packaging builds and smoke-tests both platforms in CI. Publishing stays a manualworkflow_dispatchof Release Windows and Linux previews with tagv0.1.0-preview.6.How:
feat/windows-linuxcommit, rebased on current main (compiler on Linux usesulimitlimits and Tectonic untrusted mode; on Windows it uses untrusted mode, a timer and a process-tree stop).release-desktop.ymlnow also runs on pull requests (no tag check, no publish), passes the tag throughenv, and uploads onlyFolio-*installers.taskkillon an already-exited PID, and the Windows exe now gets the Folio icon.Apple signing/notarization and the licence audit are untouched.
Local check on Linux x64: typecheck passes;
npm test515 pass / 0 fail / 48 skipped; cross-platform + compiler-queue tests pass. The full template compile and packaging could not run in the dev container (the Tectonic bundle host is blocked there), so the PR workflow is the end-to-end check.🤖 Generated with Claude Code
https://claude.ai/code/session_012TAwCUAd5eWDctHDVfjKsL
Generated by Claude Code