altacv:0.3.0#5037
Closed
smur89 wants to merge 1 commit into
Closed
Conversation
This was referenced Jun 11, 2026
smur89
added a commit
to smur89/alta-typst
that referenced
this pull request
Jun 11, 2026
The [Typst Universe automated check](typst/packages#5037) on altacv 0.3.0 raised two errors and two warnings. This PR addresses all four; once merged, release-please cuts a 0.3.1 patch with the corrected manifest + README. ## Errors - **`README.md:62`** — `examples/example.typ` and `tests/` are referenced via relative links, but those directories are intentionally excluded from the package bundle (only `typst.toml`, `lib.typ`, `icons/`, `LICENSE`, `README.md` ship). The dangling links failed the bundle integrity check. Replaced with a textual mention plus one link to the source repository. ## Warnings - **`typst.toml:7`** — `description` started with "Typst CV template …"; the [manifest guidelines](https://github.com/typst/packages/blob/main/docs/manifest.md#writing-a-good-description) say the field should generally not contain the word `Typst` (every Universe package is Typst by definition). - **`README.md:9`** — hero image's alt text was just `Preview`. Replaced with a descriptive sentence covering layout and section content for accessibility. ## Follow-up After merge, release-please will open a release PR proposing `0.3.1`. Merging that cuts the tag + release. Submission of `altacv:0.3.1` to typst/packages will: - happen **automatically** if PR #6 (the auto-submit workflow) is already merged, or - be done **manually** via the same flow we used for 0.3.0. We should also **close [typst/packages#5037](typst/packages#5037 once 0.3.1 is submitted — the 0.3.0 directory in that PR has the unfixed README/manifest and cannot be patched in place without inconsistency with the released tarball. Co-authored-by: Shane Murphy <shane@swissborg.com>
smur89
added a commit
to smur89/alta-typst
that referenced
this pull request
Jun 11, 2026
## Summary Adds a `submit-to-typst-universe` job to `.github/workflows/build.yml` that runs after each release-please tag is cut. It opens a PR on [typst/packages](https://github.com/typst/packages) submitting `altacv:<version>` to Typst Universe — replacing the manual fork-and-PR ritual we just did by hand for 0.3.0. ## How it works - Gated on `release-please.outputs.release_created == 'true'`, downstream of `attach-release-artifacts` so the tarball is guaranteed to exist on the release before the submission runs. - Idempotent: if an open PR for the current version already exists upstream (matched by title `altacv:<version>`), the job exits cleanly. A re-run from the Actions UI won't double-submit. - Branches off `upstream/main` (not the fork's main), so the cross-repo diff is just the new `packages/preview/altacv/<version>/` directory — no stale fork commits leaking in. - The PR body matches the shape of the [PR I opened manually for 0.3.0](typst/packages#5037): metadata + submission checklist with links to the release. ## One-time setup before this can run 1. Fork [typst/packages](https://github.com/typst/packages) → `smur89/packages` (already done for the 0.3.0 manual submission). 2. Create a [fine-grained PAT](https://github.com/settings/personal-access-tokens) scoped to `smur89/packages` with **Contents: read+write** and **Pull requests: read+write**. 3. Store the PAT as a repository secret named `TYPST_UNIVERSE_TOKEN` here on `smur89/alta-typst`. These prerequisites are also documented as a comment block above the new job for future reference. ## Edge cases not covered - **Re-submission after maintainer rejection**: if Typst maintainers ask for changes, the workflow will still try to open a fresh PR on the next release. The user closes the previous PR first, or amends manually. Acceptable for now — re-submissions are rare and intentional. - **Patch releases of an already-merged version**: shouldn't happen with our release-please setup (each release gets a unique version), but if it did, upstream typst/packages would reject the duplicate directory. ## Test plan - [ ] CI passes (no syntax errors in the workflow itself). - [ ] After this merges and `TYPST_UNIVERSE_TOKEN` is added as a secret, the **next** release of altacv automatically opens a PR on typst/packages. - [ ] If a release is cut while the upstream typst/packages PR #5037 is still open, the job's idempotency check kicks in and skips cleanly (PR titles match: `altacv:0.3.0`). --------- Co-authored-by: Shane Murphy <shane@swissborg.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.
First submission of
altacv— a Typst CV template inspired by LianTze Lim's AltaCV (LaTeX), forked from GeorgeHoneywood/alta-typst and rewritten around a JSON Resume-stylecvdata dict withlabels(i18n) andpreferences(theme + behaviour) extension points.Package metadata
cvcv,resume,altacv,json-resumeSubmission checklist
typst compilepasses againstlib.typand the example.altaandbrilliant-cvpackages.licensefield (MIT) matches the contents of theLICENSEfile.typst.toml,lib.typ,icons/(7 vendored FontAwesome SVGs used by the contact bar),LICENSE, andREADME.mdare included. Preview image referenced from the README is hosted on the source repo's releases, not bundled.