{"id":21195280,"url":"https://github.com/szapp/parsiphae-action","last_synced_at":"2026-04-22T12:34:49.446Z","repository":{"id":222295936,"uuid":"756536550","full_name":"szapp/parsiphae-action","owner":"szapp","description":"Github action for Parsiphae, a compiler for the Daedalus scripting language","archived":false,"fork":false,"pushed_at":"2024-04-12T13:34:48.000Z","size":1380,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-21T14:14:43.442Z","etag":null,"topics":["checks","ci","daedalus","github-actions","gothic","gothic1","gothic2","modding-gothic","syntax-checking"],"latest_commit_sha":null,"homepage":"https://github.com/Lehona/Parsiphae","language":"TypeScript","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/szapp.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}},"created_at":"2024-02-12T21:06:57.000Z","updated_at":"2024-06-11T06:36:05.000Z","dependencies_parsed_at":"2024-03-20T16:52:12.720Z","dependency_job_id":"6c6692e8-8326-42ea-8631-90e4c2f6dd03","html_url":"https://github.com/szapp/parsiphae-action","commit_stats":null,"previous_names":["szapp/parsiphae-action"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szapp%2Fparsiphae-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szapp%2Fparsiphae-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szapp%2Fparsiphae-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szapp%2Fparsiphae-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szapp","download_url":"https://codeload.github.com/szapp/parsiphae-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243652622,"owners_count":20325594,"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":["checks","ci","daedalus","github-actions","gothic","gothic1","gothic2","modding-gothic","syntax-checking"],"created_at":"2024-11-20T19:26:58.478Z","updated_at":"2026-04-22T12:34:44.424Z","avatar_url":"https://github.com/szapp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parsiphae Action\n\n[![CI](https://github.com/szapp/parsiphae-action/actions/workflows/ci.yml/badge.svg)](https://github.com/szapp/parsiphae-action/actions/workflows/ci.yml)\n[![Coverage](badges/coverage.svg)](https://github.com/szapp/parsiphae-action/actions/workflows/ci.yml)\n[![Marketplace](https://img.shields.io/github/v/release/szapp/parsiphae-action?logo=githubactions\u0026logoColor=white\u0026label=marketplace)](https://github.com/marketplace/actions/daedalus-parsiphae)\n\nGitHub action for [Parsiphae](https://github.com/Lehona/Parsiphae), a WIP compiler for the Daedalus scripting language, written by and maintained by [@Lehona](https://github.com/Lehona).\n\n## Checks\n\nChecks are added to commits and performed on pull requests.\n\n### Checks page\n\n![actions-checks](.github/screenshots/actions-checks.png)\n\n### Commit file and line annotations\n\n![commit-checks](.github/screenshots/commit-checks.png)\n\n### Pull request checks\n\n![pr-checks](.github/screenshots/pr-checks.png)\n\n## Usage\n\nCreate a new GitHub Actions workflow in your project, e.g. at `.github/workflows/scripts.yml`.\nThe content of the file should be in the following format:\n\n```yaml\nname: scripts\n\n# Trigger workflow on push events with changes in SRC or D files\non:\n  push:\n    paths:\n      - '**.src'\n      - '**.d'\n\n# These permissions are necessary for creating the check runs\npermissions:\n  contents: read\n  checks: write\n\n# The checkout action needs to be run first\njobs:\n  parsiphae:\n    name: Run Parsiphae on scripts\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Check scripts\n        uses: szapp/parsiphae-action@v1\n        with:\n          file: _work/Data/Scripts/Content/Gothic.src\n          check-name: # Optional (see below)\n          cache: # Optional\n          token: # Optional\n```\n\n## Configuration\n\n- `file`:\n  File path within the repository of the D file or the SRC file to parse, e.g. `_work\\Data\\Scripts\\Content\\Gothic.src`  \n  _Required_\n\n- `check-name`:\n  Specify a different name for the check run.\n  Useful to differentiate checks if there are multiple instances of this action in one workflow.  \n  Defaults to 'Parsiphae'\n\n- `cache`:\n  Cache the Parsiphae built in between workflow runs.\n  This greatly increases speed of the check as Parsiphae is not cloned and re-built every time.\n  The cached executable is specific to the workflow runner OS and the Parsiphae version.  \n  Defaults to true\n\n- `token`:\n  The `GITHUB_TOKEN` to [authenticate on behalf of GitHub Actions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow).  \n  Defaults to the GitHub token, i.e. checks are created by the GitHub Actions bot.\n\n## Remove second commit status check\n\nThe way GitHub check suites are designed, there will be two check statuses attached to a commit when using the 'push' event trigger.\nOne check status is the actual check run containing the error report and line annotations, the second one is the workflow run.\nUnfortunately, the creation of the superfluous workflow check status cannot be suppressed.\n\nOne workaround is to delete the entire workflow after the checks have been performed, effectively removing the check status from the commit.\nHowever, this is not possible with the default `GITHUB_TOKEN`, to avoid recursive workflow runs.\nTo remove the additional status check, call this GitHub Action with an authentication `token` of a GitHub App and enable the `check_run` event with `completed` (see below).\nFor more details the issue, see [here](https://github.com/peter-murray/workflow-application-token-action#readme).\nAlways leave the additional input `cleanup-token` at its default.\n\n\u003e [!Tip]\n\u003e This is only an optional cosmetic enhancement and this GitHub action works fine without.\n\n```yaml\nname: scripts\n\non:\n  push:\n    paths:\n      - '**.src'\n      - '**.d'\n  check_run:\n    types: completed\n\npermissions:\n  contents: read\n  checks: write\n  actions: write\n\njobs:\n  parsiphae:\n    name: Run Parsiphae on scripts\n    if: github.event_name != 'check_run' || github.event.check_run.external_id == format('{0}-0', github.workflow)\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/create-github-app-token@v1\n        id: app-token\n        with:\n          app-id: ${{ vars.APP_ID }} # GitHub App ID\n          private-key: ${{ secrets.APP_KEY }} # GitHub App private key\n      - uses: actions/checkout@v4\n      - name: Check scripts\n        uses: szapp/parsiphae-action@v1\n        with:\n          file: _work/Data/Scripts/Content/Gothic.src\n          check-name: # Optional (see below)\n          cache: # Optional\n          token: ${{ steps.app-token.outputs.token }}\n```\n\n\u003e [!Note]\n\u003e This procedure only works reasonably well if `parsiphae-action` is only called once in the workflow file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszapp%2Fparsiphae-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszapp%2Fparsiphae-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszapp%2Fparsiphae-action/lists"}