Skip to content

Fix appinfo/info.xml schema + add John McLear as author#94

Merged
Jaggob merged 1 commit into
mainfrom
chore/info-xml-schema-fix
May 22, 2026
Merged

Fix appinfo/info.xml schema + add John McLear as author#94
Jaggob merged 1 commit into
mainfrom
chore/info-xml-schema-fix

Conversation

@Jaggob
Copy link
Copy Markdown
Owner

@Jaggob Jaggob commented May 22, 2026

First real test of the CI workflows that landed in e5e1a87. The new lint-info-xml job immediately surfaced real schema violations in our manifest that would have blocked app-store submission.

What changed

  • Add <category>office</category>. Required by the schema (minOccurs=1); without it xmllint fails regardless of all the other content.
  • Re-order top-level elements to match the strict <xs:sequence> from info.xsd: category, website, bugs, repository, dependencies, repair-steps, settings.
  • Re-order <admin> before <admin-section> inside <settings> for the same reason.
  • Declare PHP range (<php min-version="8.1" max-version="8.5"/>) inside <dependencies>. We were silent on PHP previously.
  • Bump NC min-version from 30 to 31 so the CI matrix doesn't have to test PHP 8.1. NC30 is EOL and dropping it lets the matrix stay at 8.2+ without drifting from the declared compat. Saves CI minutes and avoids testing a version we'd otherwise barely use.
  • Drop the deprecated <types><filesystem/></types> wrapper that newer NC apps don't use.
  • Add <website>, <bugs>, <repository> pointing at the GitHub repo so the app-store listing has the right outbound links.
  • Add John McLear as second <author>.

Verified

  • xmllint --schema info.xsd appinfo/info.xml --noout → validates
  • composer test:phpunit → 395/395 (no behaviour change)

This PR is also the first one that will actually trigger the new CI workflows on GitHub's runners — so we'll get live feedback on whether the YAMLs themselves work end-to-end.

The new lint-info-xml CI workflow (e5e1a87) immediately caught real
schema violations in our manifest that would have blocked
app-store submission. Fix them now while the issues are small:

- Add a required <category>office</category> element. The schema
  declares category as minOccurs=1; without it the manifest fails
  validation regardless of all the other content.
- Re-order elements to match the strict <xs:sequence> the schema
  declares. The <dependencies>, <repair-steps>, and <settings>
  blocks were in the wrong positions relative to the schema's
  fixed order.
- Re-order <admin> before <admin-section> inside <settings> for
  the same reason.
- Declare the supported PHP range (<php min-version='8.1'
  max-version='8.5'/>) inside <dependencies>. We were silent on
  PHP previously; 8.5 is the current upstream upper bound
  (matches the Notes app).
- Bump NC <min-version> from 30 to 31. NC30 is EOL and PHP 8.1
  drops with NC31, so this lets the CI matrix stay at 8.2+ without
  drifting from the declared compat.
- Drop the deprecated empty <types><filesystem/></types> wrapper
  that newer NC apps don't use.
- Add <website>, <bugs>, <repository> pointing at the GitHub repo
  so the app-store listing has the right outbound links.
- Add John McLear as second <author>.

Verified locally:
- xmllint --schema info.xsd appinfo/info.xml --noout → validates
- composer test:phpunit → 395/395 (no behaviour change)
@Jaggob Jaggob merged commit 9674297 into main May 22, 2026
8 checks passed
@Jaggob Jaggob deleted the chore/info-xml-schema-fix branch May 22, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant