{"id":17918048,"url":"https://github.com/bogdanp/setup-racket","last_synced_at":"2026-03-13T10:07:51.694Z","repository":{"id":35741639,"uuid":"219137853","full_name":"Bogdanp/setup-racket","owner":"Bogdanp","description":"A GH action for installing Racket.","archived":false,"fork":false,"pushed_at":"2025-04-07T06:07:42.000Z","size":1256,"stargazers_count":53,"open_issues_count":3,"forks_count":9,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-07T07:22:02.984Z","etag":null,"topics":["actions","racket"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/Bogdanp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"Bogdanp"}},"created_at":"2019-11-02T10:27:06.000Z","updated_at":"2025-04-07T06:07:32.000Z","dependencies_parsed_at":"2023-02-18T22:30:45.926Z","dependency_job_id":"63ec9a21-9266-41e9-a69f-53ef689e6ff7","html_url":"https://github.com/Bogdanp/setup-racket","commit_stats":{"total_commits":162,"total_committers":7,"mean_commits":"23.142857142857142","dds":0.09876543209876543,"last_synced_commit":"bdb546a9ade9d3b7aeda6d8b77cbe615752421c5"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bogdanp%2Fsetup-racket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bogdanp%2Fsetup-racket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bogdanp%2Fsetup-racket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bogdanp%2Fsetup-racket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bogdanp","download_url":"https://codeload.github.com/Bogdanp/setup-racket/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248318910,"owners_count":21083746,"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":["actions","racket"],"created_at":"2024-10-28T20:09:34.863Z","updated_at":"2026-03-13T10:07:51.685Z","avatar_url":"https://github.com/Bogdanp.png","language":"JavaScript","funding_links":["https://github.com/sponsors/Bogdanp"],"categories":[],"sub_categories":[],"readme":"# setup-racket\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://github.com/Bogdanp/setup-racket/actions?query=workflow%3A%22CI%22\"\u003e\u003cimg alt=\"GitHub Actions status\" src=\"https://github.com/Bogdanp/setup-racket/workflows/CI/badge.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThis action sets up a Racket environment for use in GitHub Actions.\n\n## Usage\n\nSee [action.yml](action.yml) and [this article][article] for a\ntutorial on how to use it.\n\n### Basic\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'  # or: 'x64', 'x86', 'arm32', 'arm64' (or 'aarch64')\n    distribution: 'full' # or: 'minimal' (but you probably don't want 'minimal', see note at the bottom of this doc)\n    variant: 'CS'        # or: 'BC' for Racket Before Chez\n    version: '9.1'       # or: 'stable' for the latest version, 'current' for the latest snapshot, 'pre-release' for the latest pre-release build (defaults to 'stable')\n- run: racket hello.rkt\n```\n\n### Package Installation\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'\n    distribution: 'full'\n    variant: 'CS'\n    version: '9.1'\n- run: raco pkg install --auto component koyo\n- run: racket hello.rkt\n```\n\n### Caching\n\nYou can use [actions/cache] in combination with `setup-racket` to\nreduce the time spent installing dependencies.  See [this repo][cache]\nfor an example.\n\n### Custom Locations (only on Linux)\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'\n    distribution: 'full'\n    variant: 'CS'\n    version: '9.1'\n    dest: '/opt/racket' # ignored on macOS and Windows\n- run: racket hello.rkt\n```\n\nWhen `dest` is provided, the destination installation's `bin` folder\nis prepended to the `PATH`.  When you install multiple Racket versions\nto separate destinations, the last one you install will be the one\nthat's found in the `PATH` when you invoke `racket` from a shell\n(unless you use an absolute path).\n\n### Disable sudo\n\nOnly on Linux. The default is to use `sudo` if the command exists.\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'\n    distribution: 'full'\n    variant: 'CS'\n    version: '9.1'\n    dest: '$GITHUB_WORKSPACE/racket'\n    sudo: never # either 'always' or 'never'\n- run: \"$GITHUB_WORKSPACE/racket/bin/racket\" hello.rkt\n```\n\n### Matrix Testing\n\n```yaml\njobs:\n  build:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        racket-version: [ '8.17', '8.18', '9.0', '9.1' ]\n    name: Racket ${{ matrix.racket-version }} sample\n    steps:\n      - uses: actions/checkout@master\n      - name: Setup Racket\n        uses: Bogdanp/setup-racket@v1.15\n        with:\n          architecture: x64\n          version: ${{ matrix.racket-version }}\n      - run: racket hello.rkt\n```\n\n### Local Package Catalogs\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'\n    distribution: 'minimal'\n    variant: 'CS'\n    version: '9.1'\n    dest: '/opt/racket'\n    sudo: never\n    local_catalogs: $GITHUB_WORKSPACE\n```\n\nThis sets up a local package catalog at `$GITHUB_WORKSPACE/catalog`\nthat has higher priority than the catalogs that come with the Racket\ndistribution.  This can come in handy when testing libraries that are\na part of the main Racket distribution.\n\nYou can provide multiple local catalog paths by separating them with\ncommas.  They are prepended to the catalog set in order so the first\nlocal catalog in the list will have the highest priority.\n\n### Snapshot Sites\n\nBy default, snapshots are downloaded from whichever snapshot site\n(between the [Utah snapshot site] and the [Northwestern site]) has\nbuilt a snapshot most recently.  You can select a specific snapshot\nsite using the `snapshot_site` option.\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n  with:\n    architecture: 'x64'\n    distribution: 'full'\n    variant: 'CS'\n    version: 'current'\n    snapshot_site: 'northwestern' # or: 'auto', 'utah' (defaults to 'auto')\n- run: racket hello.rkt\n```\n\n[Utah snapshot site]: https://users.cs.utah.edu/plt/snapshots/\n[Northwestern site]: https://plt.cs.northwestern.edu/snapshots/\n\n\n## Gotchas\n\n### Distributions\n\nUsing the `full` distribution instead of the `minimal` distribution\nwill reduce your build times for most use cases.  Things you typically\ndo in CI (run tests, build docs, etc.) require many dependencies not\nincluded in the `minimal` distribution, so you waste a lot of time\ndownloading and installing those dependencies.  The `full` distribution\ncomes with those dependencies pre-installed.  Only use the `minimal`\ndistribution if you really know what you're doing.\n\n### ARM Builds\n\nARM builds have limited availability depending on the target version,\nplatform and snapshot site:\n\n| Arch    | Platform | Snapshot Site      | Available Versions |\n|---------|----------|--------------------|--------------------|\n| `arm32` | Linux    | Utah               | `current`          |\n| `arm64` | Linux    | Utah               | `current`          |\n| `arm64` | macOS    | Utah, Northwestern | `8.0-current`      |\n| `arm64` | Windows  | Utah               | `8.14-current`     |\n\nARM builds are not available for the BC variant of Racket.\n\n### Using `racket/gui`\n\nTests which require `racket/gui`, even without using any graphical\nfeatures, will fail due to not having a display. To get around this,\nuse [gabrielbb/xvfb-action] to run your code like so:\n\n```yaml\nsteps:\n- uses: actions/checkout@master\n- uses: Bogdanp/setup-racket@v1.15\n- uses: GabrielBB/xvfb-action@v1\n  with:\n      run: racket hello.rkt\n```\n\n\n## License\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE).\n\n[article]: https://defn.io/2020/05/05/github-actions-for-racket-revised/\n[actions/cache]: https://github.com/actions/cache\n[cache]: https://github.com/Bogdanp/setup-racket-cache-example\n[gabrielbb/xvfb-action]: https://github.com/marketplace/actions/gabrielbb-xvfb-action\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbogdanp%2Fsetup-racket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbogdanp%2Fsetup-racket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbogdanp%2Fsetup-racket/lists"}