This is a collection of reusable workflows for checking Emacs Lisp packages on GitHub Actions. These workflows assumes your project contains flake.nix
for rice.
With these workflows, you can automate the following checks with a very concise code:
First follow the instruction in rice-config to add a flake.nix
that conforms that the Rice API. Then create a workflow file in .github/workflows
directory of same repository.
You can add the following GitHub workflow file to your repository:
name: Check Emacs Lisp on: pull_request: paths-ignore: - 'README.*' push: branches: - master paths-ignore: - 'README.*' workflow_dispatch: jobs: compile-and-test: uses: emacs-twist/elisp-workflows/.github/workflows/compile-and-test.yml@master with: rice-config: github:your-user/rice-config melpa: github:your-user/melpa/branch systems: github:nix-systems/x86_64-linux melpazoid: uses: emacs-twist/elisp-workflows/.github/workflows/melpazoid.yml@master with: rice-config: github:your-user/rice-config melpa: github:your-user/melpa/branch
This workflow runs byte-compile (and optional test) and melpazoid in parallel. Byte-compile is run on every Emacs version supported by your package(s). Melpazoid is run on the latest release version of Emacs.
If you have multiple packages in your repository, the checks are run for each package simultaneously.
Each workflow accepts the following input parameters:
rice-config
(optional)
flake.lock
to prevent from supply-chain attacks.
melpa
(optional)
github:your-user/melpa/branch
. See the documentation of rice-config for details.
registries
(optional)
lock-dir
(optional)
.rice-lock/default
. If your package doesn’t have any Emacs Lisp dependency, set the value to ''
(an empty string).
The following input parameter is accepted by compile-and-test
, but not by melpazoid
:
systems
(optional)
For details, refer to the workflow files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4