{"id":18565250,"url":"https://github.com/rigetti/docker-lisp","last_synced_at":"2025-04-10T04:32:39.280Z","repository":{"id":54955702,"uuid":"197062005","full_name":"rigetti/docker-lisp","owner":"rigetti","description":"Docker image that contains SBCL, Quicklisp, and some QL libraries.","archived":false,"fork":false,"pushed_at":"2023-05-19T14:04:49.000Z","size":16,"stargazers_count":21,"open_issues_count":2,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-01T21:34:05.073Z","etag":null,"topics":["continuous-delivery","continuous-integration","docker","lisp"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rigetti.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}},"created_at":"2019-07-15T19:45:21.000Z","updated_at":"2024-02-22T01:16:34.000Z","dependencies_parsed_at":"2022-08-14T07:20:43.646Z","dependency_job_id":null,"html_url":"https://github.com/rigetti/docker-lisp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigetti%2Fdocker-lisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigetti%2Fdocker-lisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigetti%2Fdocker-lisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigetti%2Fdocker-lisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rigetti","download_url":"https://codeload.github.com/rigetti/docker-lisp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223424539,"owners_count":17142784,"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":["continuous-delivery","continuous-integration","docker","lisp"],"created_at":"2024-11-06T22:18:07.520Z","updated_at":"2024-11-06T22:18:07.971Z","avatar_url":"https://github.com/rigetti.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"docker-lisp\n===========\n\n[![docker pulls](https://img.shields.io/docker/pulls/rigetti/lisp.svg)](https://hub.docker.com/r/rigetti/lisp)\n\nDocker image that contains the latest version of [Steel Bank Common Lisp](http://www.sbcl.org/),\nthe most recent distribution of the library manager [Quicklisp](https://www.quicklisp.org/beta/),\nand some of the third-party libraries used at Rigetti. It is built on top of Debian Buster.\n\nRunning the Docker image\n------------------------\n\nThe [rigetti/lisp](https://hub.docker.com/r/rigetti/lisp) image is available on DockerHub,\nso running `docker run -it rigetti/lisp` will download it and drop you into an SBCL REPL\nwith Quicklisp available and the libraries preloaded.\n\nUpdating the contents of the Docker image\n-----------------------------------------\n\nOnce updating the source code, you can test your changes locally by running `make`\nfrom the command line. Additionally, when you open a PR with your changes, the CI system\nwill run `make` and build the Docker image, but will not push it to DockerHub. There are\nfour things that you might want to change in the Docker image:\n\n1. To update the version of SBCL to use in the Docker build,\nsimply edit the `VERSION-SBCL.txt` file.\n\n2. To update the version of Quicklisp to use in the Docker build,\nsimply edit the `VERSION-QUICKLISP.txt` file.\n\n3. To include additional Quicklisp libraries that are used by downstream dependencies,\nsimply add them to `quicklisp-libraries.txt`\n\n4. Currently, this image only contains SBCL, but it is named `rigetti/lisp` because in the\nfuture one could imagine adding downstream support for additional Lisp implementations\n(like ECL or CCL). In order to do so, the `Dockerfile` would need to be updated to install\nthese other flavors of Lisp.\n\nPushing a new Docker image\n--------------------------\n\nThe images on DockerHub are tagged by the version of Quicklisp available in them. Thus,\n`rigetti/lisp:2019-07-11` would have the Quicklisp distribution that was released on\nJuly 11th, 2019. The version of SBCL is not represented explicitly in the image tag,\nbut corresponds to the contents of `VERSION-SBCL.txt` when the image was built. This was\nan intentional design decision to reduce upgrade complexity, but can be rethought if necessary.\n\nOnce you have selected the version of SBCL and Quicklisp that you would like to build an image for,\ncommit your changes to `VERSION-SBCL.txt` and `VERSION-QUICKLISP.txt` and open a pull request.\nAfter this PR has been merged into mainline, the CI system will build a new version of the image\ntagged with the Quicklisp version, and push it to DockerHub. For example, if `VERSION-SBCL.txt`\ncontains 1.5.4 and `VERSION-QUICKLISP.txt` contains 2019-07-11, this will trigger a build on\nGitLab CI that creates the `rigetti/lisp:2019-07-11` image and pushes it to DockerHub.\nAdditionally, this will update the `rigetti/lisp:latest` image, which is the default image\nif no tag is specified.\n\nOverwriting an existing Docker image\n------------------------------------\n\nIf you make changes to the source code without incrementing the number in `VERSION-QUICKLISP.txt`,\nwhen these changes hit master, the `rigetti/lisp` image that is tagged by the number in\n`VERSION-QUICKLISP.txt` will be overwritten by whatever is built in that master build.\nFor example, if you update the SBCL version or add new QL libraries, this will overwrite\nthe most recent non-`latest` tag, as well as update the `latest` tag.\n\nNightly rebuilds of the Docker image\n------------------------------------\n\nIn addition to the builds that are triggered by merging changes into master, there is a\nscheduled nightly build (at 4:00am PT) that rebuilds the Docker image associated with\nthe most recent non-`latest` tag, as well as the `latest` tag. This is done so that we\nare always picking up the latest Debian security patches, and to avoid other issues that\narise when using a stale distribution.\n\n\nDownstream dependencies\n-----------------------\n\nThe following Docker images depend on `rigetti/lisp`:\n\n- [`rigetti/rpcq`](https://hub.docker.com/r/rigetti/rpcq)\n- [`rigetti/quilc`](https://hub.docker.com/r/rigetti/quilc)\n- [`rigetti/qvm`](https://hub.docker.com/r/rigetti/qvm)\n\nA newly pushed `rigetti/lisp` will **NOT** trigger these downstream dependencies\nto rebuild automatically. Thus, once you have released a new version of this image, make\nsure to update the tag your downstream images are referencing (if the image tag is specified)\nor re-run your downstream builds to pick up the new image (if you are using the `latest` tag).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigetti%2Fdocker-lisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frigetti%2Fdocker-lisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigetti%2Fdocker-lisp/lists"}