This action makes it easy to quickly write and execute an Elixir script in your workflow.
To use this action, provide an input named script
that contains Elixir code:
- uses: gaggle/elixir_script@v0
with:
script: |
IO.puts("Magic, just like the potions in Elixir ✨")
The following arguments are available in the script's bindings:
context
: A map containing the context of the workflow run. It can be accessed like this:script: | "🚀 Pushed to #{context.payload.repository.name} by @#{context.actor}!
client
: A pre-authenticated Tentacat GitHub client. It can be used like this:You can go to the Tentacat project page or read the project's Hexdocs documentation for how to use all its features.script: | {200, user, _} = Tentacat.Users.find(client, "gaggle") IO.puts("🤔" <> user["name"])
These bindings are already defined, so you don't have to import them.
The return value of the script will be in the step's outputs.result
:
- uses: gaggle/elixir_script@v0
id: script
with:
script: |
"Oh hi Mark!"
- name: Get result
run: echo "${{steps.script.outputs.result}}"
See .github/workflows/examples.yml for more examples.
Inspired by GitHub Script
This Elixir Script action is based on the GitHub Script action, which is primarily built around Javascript. Elixir Script adapts its interfaces and functionality to the Elixir environment, aiming to provide a seamless experience for Elixir developers. Many thanks to the creators and contributors of GitHub Script!
The GitHub library is by Eduardo Gurgel, huge thanks to Eduardo and contributors for making such a useful project available.
New releases are automatically created
when .pkgx.yaml
's VERSION
is incremented.
The release must then be edited and then immediately resaved to publish it to the Actions Marketplace
(This is a built-in limitation of GitHub releases that prevents Marketplace releases from being automated)