{"id":18980642,"url":"https://github.com/sublimetext/syntax-test-action","last_synced_at":"2025-04-19T19:13:35.963Z","repository":{"id":39224935,"uuid":"270277642","full_name":"SublimeText/syntax-test-action","owner":"SublimeText","description":"Github Action to run syntax tests","archived":false,"fork":false,"pushed_at":"2025-04-10T18:55:05.000Z","size":54,"stargazers_count":13,"open_issues_count":1,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T19:01:56.865Z","etag":null,"topics":["github-actions","hacktoberfest","sublime-text"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SublimeText.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-07T10:59:07.000Z","updated_at":"2025-04-10T18:52:51.000Z","dependencies_parsed_at":"2025-04-10T18:40:35.586Z","dependency_job_id":"577cabb9-5046-4eac-bce2-0d4b7de14a4e","html_url":"https://github.com/SublimeText/syntax-test-action","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SublimeText%2Fsyntax-test-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SublimeText%2Fsyntax-test-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SublimeText%2Fsyntax-test-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SublimeText%2Fsyntax-test-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SublimeText","download_url":"https://codeload.github.com/SublimeText/syntax-test-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249239337,"owners_count":21235846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","hacktoberfest","sublime-text"],"created_at":"2024-11-08T16:07:24.354Z","updated_at":"2025-04-16T12:31:11.469Z","avatar_url":"https://github.com/SublimeText.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sublime Text Syntax Test Action\n\n![Tests](https://github.com/SublimeText/syntax-test-action/workflows/Tests/badge.svg)\n\nRun syntax tests on your Sublime Text syntax definitions\nusing the ST syntax test binary.\n\n## Usage\n\n### Minimal Example\n\n```yaml\nname: Syntax Tests\n\non:\n  push:\n    paths:\n      - '**.sublime-syntax'\n      - '**/syntax_test_*'\n      - '**.tmPreferences'\n  pull_request:\n    paths:\n      - '**.sublime-syntax'\n      - '**/syntax_test_*'\n      - '**.tmPreferences'\n\njobs:\n  syntax_tests:\n    name: Syntax Tests (${{ matrix.build }})\n    runs-on: ubuntu-latest\n    timeout-minutes: 15 # default is 6 hours!\n    strategy:\n      matrix:\n        include:\n          - build: latest  # This is the default\n            # packages: master  # If you depend on a default syntax definition\n          - build: stable  # Fetches the binary for the latest stable build\n            # packages: binary  # Use respective tag for the selected binary build.\n          - build: 3210  # Latest known ST3 build with a test binary\n            # packages: v3189  # Latest ST3 tag on the Packages repo\n    steps:\n      - uses: actions/checkout@v4\n      - uses: SublimeText/syntax-test-action@v2\n        with:\n          build: ${{ matrix.build }}\n          # default_packages: ${{ matrix.packages }}\n```\n\n### Multiple Syntax Package Tests Example\n\n```yaml\nname: Multi Package Syntax Tests\n\non:\n  push:\n    paths:\n      - '**.sublime-syntax'\n      - '**/syntax_test_*'\n      - '**.tmPreferences'\n  pull_request:\n    paths:\n      - '**.sublime-syntax'\n      - '**/syntax_test_*'\n      - '**.tmPreferences'\n\njobs:\n  syntax_tests:\n    name: Syntax Tests (${{ matrix.build }})\n    runs-on: ubuntu-latest\n    timeout-minutes: 15         # default is 6 hours!\n    env:\n      package_name: My Package  # install name as specified at packagecontrol.io\n    strategy:\n      matrix:\n        include:\n          - build: latest       # This is the default\n            packages: master    # default packages revision to use\n            less_ref: master    # Less package revision to use\n            sass_ref: master    # Sass package revision to use\n          - build: 3211         # Latest known ST3 build with a test binary\n            packages: v3211     # default packages revision to use\n            less_ref: master    # Less package revision to use\n            sass_ref: master    # Sass package revision to use\n    steps:\n      # Checkout primary package of this repository\n      # and all additionally required packages next to each other\n      # by specifying `path` for all.\n      # `path` should match the package's name from packagecontrol.io\n      # as this may be relevant for a package to work porperly.\n      - name: Checkout ${{ env.package_name }} (primary package)\n        uses: actions/checkout@v4\n        with:\n          path: ${{ env.package_name }}\n      - name: Checkout Less (dependency)\n        uses: actions/checkout@v4\n        with:\n          repository: SublimeText/Less\n          ref: ${{ matrix.less_ref }}\n          path: Less\n      - name: Checkout Sass/Scss (dependency)\n        uses: actions/checkout@v4\n        with:\n          repository: SublimeText/Sass\n          ref: ${{ matrix.sass_ref }}\n          path: Sass\n      # Run syntax test for primary package\n      # after installing default and additional packages\n      - name: Run Syntax Tests for Sublime Text ${{ matrix.build }}\n        uses: SublimeText/syntax-test-action@v2\n        with:\n          build: ${{ matrix.build }}\n          package_name: ${{ env.package_name }}\n          package_root: ${{ env.package_name }}\n          default_packages: ${{ matrix.packages }}\n          default_tests: false  # default\n          additional_packages: Dummy,Less,Sass\n          additional_tests: false  # default\n          # External syntax definitions,\n          # which are embedded without being tested in detail,\n          # can be created as empty dummies\n          # to just ensure their main scope is available.\n          dummy_syntaxes: source.livescript,source.postcss,source.sss,source.stylus\n```\n\n\u003e **Note**\n\u003e You must use a separate job\n\u003e if you want to test multiple ST build\n\u003e or default packages versions.\n\n\u003e **Warning**\n\u003e It is important that you checkout your dependencies\n\u003e to a folder that is separate from your `package_root`,\n\u003e otherwise the dependency packages placed in a subfolder\n\u003e would be treated (and tested) as a part of your package.\n\n\n## Inputs\n\n| Name                     | Default         | Description |\n| :----------------------- | :-------------- | :---------- |\n| **build**                | `\"latest\"`      | ST build that should be installed as an integer. `\"latest\"` is for the dev channel, `\"stable\"` for the stable channel. Not all builds are available. |\n| **default\\_packages**    | `\"false\"`       | Install the [default packages][] and which version. Accepts any git ref, e.g. `\"master\"`, or `\"binary\"` for the tag of the respective binary. Note that the corresponding tag may not always exist. |\n| **default\\_tests**       | `false`         | Whether to keep the tests of the default packages. |\n| **additional\\_packages** | `\"\"`            | Comma-separated list of paths to additionally checked out packages to install (e.g.: `LESS,third-party/Sass`). Uses the folders' base names as the package names to install as. |\n| **additional\\_tests**    | `false`         | Whether to keep the tests of the additional packages. |\n| **package\\_root**        | `\".\"`           | Path to the package root that is linked to the testing Packages folder. |\n| **package\\_name**        | Repository name | Name to install the package as. |\n| **dummy\\_syntaxes**      | `\"\"`            | Comma-separated list of base scopes to create empty syntaxes for, e.g. `source.postcss,source.stylus`. |\n\n[default packages]: https://github.com/sublimehq/Packages/\n\n\n## Changelog\n\n### v2\n\n### v2.5 (2025-04-10)\n\n- Added support for the new syntax test output format of build 4181.\n  (@michaelblyons, #24, #25)\n- Added support for multi-line error messages with the new format.\n  (@FichteFoll, #29)\n- Added warnings for incorrectly named syntax test files\n  that the syntax test binary will ignore.\n  (@michaelblyons, #26, #27)\n\n### v2.4 (2025-01-12)\n\n- Added `dummy_syntaxes` input that creates empty syntax files\n  to satisfy external `embed`s that would otherwise result in CI failures.\n  (@FichteFoll, #13, #20)\n- Added ability to specify `stable` for the `build` input,\n  which automatically determines the latest stable build.\n  (@FichteFoll, #21, #6)\n- Added ability to specify `binary` for the `default_packages` input,\n  which automatically resolves to the closest tag on the repository.\n  (@FichteFoll, #21)\n\n### v2.3 (2025-01-11)\n\n- Fix dependencies for `ubuntu-24.04` runner.\n  (@deathaxe, #17, #18)\n\n### v2.2 (2023-01-08)\n\n- Support linking of multiple additional third-party packages\n  via `additional_packages` and `additional_tests`.\n  (@deathaxe, #12, #16)\n\n### v2.1 (2021-06-07)\n\n- Treat `'latest'` as an ST4 build now that the upstream URL has been updated.\n  (@FichteFoll)\n- Group dependency installation, if necessary.\n  (@FichteFoll)\n\n### v2.0 (2020-08-28)\n\n- Updated to new upstream download paths. (@FichteFoll)\n- Does not fetch dependencies anymore for 4077+. (@FichteFoll, #2)\n- Changed from docker to composite action. (@FichteFoll)\n\n### v1 (2020-06-07)\n\nInitial working version\nsupporting ST3 and ST4 builds\nas well as fetching the default packages.\n(@FichteFoll)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsublimetext%2Fsyntax-test-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsublimetext%2Fsyntax-test-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsublimetext%2Fsyntax-test-action/lists"}