Repository navigation
build: installers for Windows and Linux, and a release built, tested and published on all three systems - #7
Merged
Merged
Conversation
The fetch script knows the release files for macOS (Apple Silicon and Intel), Linux (x64 and arm64, static builds) and Windows (x64), each with its SHA-256, and fetches the one for the system it runs on. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Windows gets an installer (per user, no administrator needed) and a portable .zip; Linux an AppImage and a .deb; the Mac files keep their names with the system added (Lucid-<version>-mac-arm64.dmg). pnpm dist builds the ones for the system it runs on, and the build still refuses an app that lacks a file it must carry, on every system. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
They find the app by system (or by LUCID_APP, for an installed copy), use a minimal PATH of each system's own folders, and on a Linux machine without a desktop take flags from LUCID_E2E_ARGS. The version is read from package.json instead of being written in the test. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…and Linux Each system builds on its own runner and tests the unpacked app and then what a person installs (the disk image, the Windows installer run silently, the .deb installed with apt). One job gathers the files, writes SHA256SUMS and creates the release. Run from a branch by hand, it builds and tests without publishing. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…runs keep their test results Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…akes to fetch the typesetting files On a Mac it took 78 s of a 90 s allowance; the Windows and Linux runners need longer. A packaged app that never made a PDF is exactly this case. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…, and a PDF that was not saved leaves a screenshot A temporary workflow runs only the Windows PDF test, to find why it does not finish there. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…too, and the missing-engine hint fits the system The notes 'Saved page.pdf' cut the name out of the path by splitting at '/', which Windows paths do not use, so there they showed the whole path (the PDF was saved; a packaged-app test on Windows could not find the note). The name is now taken at either separator. The hint for a missing PDF engine named Homebrew, which is Mac-only; elsewhere it points to Tectonic's page. The temporary debugging workflow is removed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…of a hook Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…p where it went Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Part 2 of Windows and Linux support (part 1, the app's own platform code, is merged).
What
.zip. Linux: an.AppImageand a.deb. The Mac files keep their kind and get the system in the name:Lucid-<version>-mac-arm64.dmg. All assets areLucid-<version>-<os>-<arch>.<ext>.scripts/fetch-tectonic.mjsknows the release files for macOS (Apple Silicon and Intel), Linux (x64, arm64: static builds, nothing to install) and Windows (x64), each with its pinned SHA-256 (the digests GitHub lists), and fetches the one for the system it runs on.package.json, and makes a PDF with a diagram with nothing installed; the Help menu; a second launch; the agent bridge over the named pipe on Windows) run against the unpacked app, and then against what a person installs: the disk image on a Mac, the Windows installer run silently, the.debinstalled with apt.SHA256SUMSand creates the release. A pull request that touches packaging runs the same builds and tests without publishing (also runnable by hand).Found by running it on all three systems (fixed here)
/. It is now taken at either separator (baseName, tested). This is what made the first Windows PDF test look like a failure: the PDF was saved.Result of the last run: macOS, Windows and Linux all build, pass the packaged tests on the unpacked app, and pass them again on what a person installs (disk image, Windows installer run silently,
.debinstalled with apt).Not done by this pull request
Signing: there is no Apple or Windows certificate, so macOS (Open Anyway) and Windows (SmartScreen: More info, Run anyway) ask once; the release notes say so. The README and the website are updated in the next pull request.
🤖 Generated with Claude Code