Skip to content

new syntax for modules#2

Open
Slashek wants to merge 28 commits intomasterfrom
new-syntax-for-modules
Open

new syntax for modules#2
Slashek wants to merge 28 commits intomasterfrom
new-syntax-for-modules

Conversation

@Slashek
Copy link
Contributor

@Slashek Slashek commented Feb 24, 2026

No description provided.

Slashek and others added 28 commits February 24, 2026 09:43
Replace Docker-based platformOS LSP and platformos-check containers with
the new pos-cli check command for Liquid linting.

Changes:
- Install pos-cli via npm instead of using Docker containers
- Run linter with: pos-cli check run <module> -f json
- Remove platformos-lsp startup step (no longer needed)
- Remove Docker workspace volume mappings
- Simplify environment variables (remove PLATFORMOS_CHECK_DEBUG)
- Remove platformos-lsp.log from artifact uploads
Temporarily disable automatic triggers and change detection to enable
manual workflow_dispatch testing of the new pos-cli check command.

Changes:
- Comment out pull_request and push triggers (keep workflow_dispatch)
- Comment out detect-changes job (dynamic module detection)
- Hardcode matrix to common-styling module for testing
- Remove job dependencies to allow independent execution

This allows manual testing of the pos-cli check integration before
re-enabling automatic triggers for all modules.
Add summary statistics table and update jq path from .[] to .files[]
to match the new nested JSON structure with offense counts.
…w on errors

Replace undefined $docker_exit_code with $check_exit_code to ensure
the workflow step fails when linting errors are found.
…kflow

Restore pull_request/push triggers, detect-changes job, and dynamic
matrix to run linting automatically on changed modules.
Enable manual workflow triggering with dropdown module selection
instead of relying on change detection for workflow_dispatch events.

Changes:
- Add workflow_dispatch inputs with alphabetically ordered module choices
- Skip detect-changes job when manually triggered
- Use conditional matrix: manual input for workflow_dispatch, detected changes for PR/push
- Update run-linter conditions to handle both trigger types with always()

Benefits:
- Manual triggers can lint any module on demand
- Automatic triggers still use efficient change detection
- Clear separation between manual and automatic execution paths
Display contextual information in workflow run titles based on trigger type.

Run name format:
- Manual trigger: "Lint: {module}"
- Pull request: "Lint PR #{number}"
- Push: "Lint: {branch}"

Makes it easier to identify and track workflow runs in the Actions UI.
Wrap conditional expressions in parentheses to fix YAML syntax error
caused by ambiguous operator precedence in chained && and || operators.
…rror

Change 'Lint PR #{0}' to 'Lint PR {0}' and remove explicit parentheses
to resolve YAML parsing issue with special characters in expressions.
Replace complex conditional logic with simple inline expression using
fallback operator. Shows module name for manual triggers, branch name
for automatic triggers.
Changes:
- Group issues by file with markdown headers and file-level stats
- Sort files by error count (most critical first)
- Sort offenses within files by severity (errors before warnings)
- Remove redundant file column (shown in header instead)
- Add emoji indicators and improved formatting
- Display error/warning/info counts per file

Result: Summary is now scannable and easy to navigate instead of
a jumbled flat list of 100+ rows with repeated file paths.
Use fallback chain in run-name to display contextual information:
- Manual trigger: "Lint {module}"
- Push: commit message
- Pull request: PR title
- Fallback: "Lint modules"

Avoids redundant branch names while preserving useful commit/PR context
that was lost with the previous static "Lint modules" approach.
Add pre_job to run-linter needs and check should_skip status before
running. Prevents fromJSON error when detect-changes is skipped due
to duplicate action detection.

Error occurred when:
- pre_job sets should_skip=true
- detect-changes skips (no output)
- run-linter runs anyway (always())
- fromJSON('') fails with "empty input"

Now run-linter properly skips when should_skip is true.
Change do_not_skip from ["push"] to ["workflow_dispatch"] to allow
skip-duplicate-actions to properly deduplicate push and pull_request
events triggered by the same commit.

Before: Push to PR branch triggered both push and pull_request events
After: Only pull_request event runs, push is skipped as duplicate

Manual triggers (workflow_dispatch) still always run as expected.
This reverts the do_not_skip change from ["workflow_dispatch"] back to
["push"]. The duplicate run issue on PR branches is expected GitHub
Actions behavior and cannot be avoided.

Keeping ["push"] ensures that direct pushes to master always trigger
linting, which is more important than attempting to fix unavoidable
PR branch duplicates.
Replace full commit message in run-name with whitespace fallback to
let GitHub use its default event-specific display (truncated commit
subject for push, PR title for pull_request).

Manual triggers still show "Lint {module}" as expected.
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.

3 participants