Skip to content

ci(#1524): lint .xsl files with xslint - #1525

Merged
yegor256 merged 1 commit into
masterfrom
1524
Oct 2, 2026
Merged

yegor256 merged 1 commit into
masterfrom
1524

Conversation

@yegor256

@yegor256 yegor256 commented Oct 2, 2026

Copy link
Copy Markdown
Member

Closes #1524.

This adds an xslint workflow, the same one objectionary/eo runs, so every push and pull request checks all 99 stylesheets in the repository.

xslint found one defect. defect-context.xsl declares XSLT 2.0 but used the XPath 3.1 map constructor. serialize() already uses the xml method by default, so the map was redundant:

<xsl:value-of select="substring(serialize($context), 1, 300)"/>

With that fix, xslint 0.6.0 reports no defects locally.

Add xslint workflow and drop the XSLT 3.0 map constructor from defect-context.xsl, since serialize() already defaults to the xml method
Copilot AI balanced review requested due to automatic review settings October 2, 2026 07:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: 2 Medium severity

Open (2)
What changed in this PR

Adds CI linting for XSL stylesheets using xslint and fixes an xslint-reported XPath/XSLT compatibility issue in defect-context.xsl.

Changes:

  • Introduces a new GitHub Actions workflow to run xslint on pushes/PRs to master.
  • Removes XPath 3.1 map constructor usage from defect-context.xsl by relying on default serialize() behavior.
File Description
src/​main/​resources/​org/​eolang/​funcs/​defect-context.xsl Adjusts serialization call to avoid XPath 3.1 map constructor under an XSLT 2.0 declaration.
.github/​workflows/​xslint.yml Adds a CI workflow to run xslint in GitHub Actions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +23 to +26
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: xslint/xslint-action@0.0.14
@@ -6,6 +6,6 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:eo="https://www.eolang.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="defect-context" version="2.0">
timeout-minutes: 15
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: xslint/xslint-action@0.0.14
@github-actions github-actions Bot added the core Changes are made to core parts of the code base label Oct 2, 2026
@yegor256
yegor256 merged commit 97f29f0 into master Oct 2, 2026
25 of 26 checks passed
@yegor256
yegor256 deleted the 1524 branch October 2, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Changes are made to core parts of the code base

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lint .xsl files with xslint in CI

3 participants