{"id":13647636,"url":"https://github.com/flycheck/emacs-travis","last_synced_at":"2025-07-26T20:07:10.674Z","repository":{"id":148180598,"uuid":"45731602","full_name":"flycheck/emacs-travis","owner":"flycheck","description":"Install Emacs on Travis CI","archived":false,"fork":false,"pushed_at":"2019-09-21T13:00:01.000Z","size":54,"stargazers_count":56,"open_issues_count":3,"forks_count":13,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-06T02:07:01.212Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flycheck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-11-07T10:15:11.000Z","updated_at":"2024-05-25T23:05:29.000Z","dependencies_parsed_at":"2023-05-19T09:15:11.705Z","dependency_job_id":null,"html_url":"https://github.com/flycheck/emacs-travis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Femacs-travis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Femacs-travis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Femacs-travis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flycheck%2Femacs-travis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flycheck","download_url":"https://codeload.github.com/flycheck/emacs-travis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243168368,"owners_count":20247324,"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":[],"created_at":"2024-08-02T01:03:40.980Z","updated_at":"2025-03-12T06:26:33.883Z","avatar_url":"https://github.com/flycheck.png","language":"Makefile","funding_links":[],"categories":["Makefile"],"sub_categories":[],"readme":"emacs-travis.mk\n===============\n\nInstall Emacs and its tooling on Travis CI.\n\n`emacs-travis.mk` is a small Makefile which provides targets to install Emacs\nstable and emacs-snapshot, Texinfo and Cask on the Docker-based infrastructure\nof Travis CI.  It compiles a minimal Emacs and Texinfo from source and installs\nthem into `$HOME/bin`.\n\nUsage\n-----\n\nAdd the following to your `.travis.yml`:\n\n``` yaml\nlanguage: emacs-lisp\n# Emacs fails to build in container-based builds on Travis\n# See https://github.com/travis-ci/travis-ci/issues/9061\n# and https://github.com/moby/moby/issues/22801\nsudo: required\ndist: trusty\ncache:\n  - directories:\n      # Cache stable Emacs binaries (saves 1min per job)\n      - \"$HOME/emacs/\"\n# Allow Emacs snapshot builds to fail and don’t wait for these as they can take\n# a looooong time\nmatrix:\n  fast_finish: true\n  allow_failures:\n    - env: EMACS_VERSION=snapshot\nenv:\n  - EMACS_VERSION=24.3\n  - EMACS_VERSION=25.1-rc2\n  - EMACS_VERSION=25.3\n  - EMACS_VERSION=26.0.91 PRETEST=yes\n  - EMACS_VERSION=snapshot\nbefore_install:\n  # Configure $PATH: Executables are installed to $HOME/bin\n  - export PATH=\"$HOME/bin:$PATH\"\n  # Download the makefile to emacs-travis.mk\n  - wget 'https://raw.githubusercontent.com/flycheck/emacs-travis/master/emacs-travis.mk'\n  # Install Emacs (according to $EMACS_VERSION) and Cask\n  - make -f emacs-travis.mk install_emacs\n  - make -f emacs-travis.mk install_cask\n  # Install Texinfo, if you need to build info manuals for your project\n  - make -f emacs-travis.mk install_texinfo\ninstall:\n  # Install your dependencies\n  - cask install\nscript:\n  # Run your tests\n  - cask exec ert-runner\n```\n\nThis setup builds and tests your Emacs Lisp project on Emacs 24.3, the second\nrelease candidate of 25.1, 25.3, the 26.0.91 pretest, and the current Emacs\nsnapshot from Git.\n\nNote: To use Texinfo you'll need `libperl.so`. For example in Ubuntu you can\ninstall it by using command as follows:\n\n```bash\nsudo apt-get install libperl-dev\n```\n\nOther ways to run Emacs on CI\n-----------------------------\n\n- [Silex/docker-emacs](https://github.com/Silex/docker-emacs) provides Docker\n  images of Emacs for running on CI or interactive use locally.  There are also\n  images with Cask and Git.\n- [flycheck/emacs-cask](https://hub.docker.com/r/flycheck/emacs-cask/) is a\n  collection of Docker images containing a minimal Emacs compiled from source\n  (like this project) and Cask.  Unlike `Silex/docker-emacs`, the Emacs in the\n  image is built with very few options, intended for use in batch mode, not for\n  interactive usage.  Also, `Silex/docker-emacs` provides more versions of Emacs\n  as Docker images.\n- [EVM](https://github.com/rejeep/evm) provides pre-built Emacs binaries you can\n  use for CI.  It does not recompile Emacs every job, unlike this project.\n  However, it does not provides binaries for the latest snapshot version of\n  Emacs.\n\nReference\n---------\n\nTo install, download the `emacs-travis.mk` script in your `.travis.yml`, and run\nit with `make -f` as in the example above.\n\nEnvironment variables (set these in the `env:` section of your `.travis.yml`):\n\n- `$EMACS_VERSION`: The Emacs version to install.  Supports any released version\n  of GNU Emacs (tested with 24.3 and upwards), release candidates\n  (e.g. `25.1-rc2`) or the special value `snapshot` to clone the latest `master`\n  from Emacs’ Git.  Defaults to the latest stable release of GNU Emacs.\n- `$TEXINFO_VERSION`: The Texinfo version to install.  Supports any released\n  version of GNU Texinfo (tested with 5.2 and upwards).  Defaults to the latest\n  stable release of GNU Texinfo.\n\nAdditional environment variables (for special purposes):\n\n- `$EMACSCONFFLAGS`: Flags for `./configure` when building Emacs.  Defaults to\n  building a minimal Emacs, without almost all features\n\nTargets (for use in `before_install`):\n\n- `install_cask`: Install Cask\n- `install_emacs`: Install GNU Emacs, as per `$EMACS_VERSION`\n- `install_texinfo`: Install GNU Texinfo, as per `$TEXINFO_VERSION`\n\nNote the OS/version combinations which are not supported within `.travis.yml`.\n\nLicense\n-------\n\nCopyright © 2017-2018 Flycheck contributors\nCopyright © 2015-2016 Sebastian Wiesner \u003cswiesner@lunaryorn.com\u003e\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Femacs-travis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflycheck%2Femacs-travis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflycheck%2Femacs-travis/lists"}