jbang-action
jbang-action copied to clipboard
Docker image and Github Action to run jbang scripts
JBang Container for Docker and Github Action
This container intended for quick and easily run java based scripts with jbang.
Can be used directly with docker or as a GitHub Action.
The source is located in jbangdev/jbang and are updated in this repo on every tag/release of jbangdev/jbang.
Container/Docker usage
Using dockerhub images:
docker run -v `pwd`:/ws --workdir=/ws jbangdev/jbang-action helloworld.java
Using quay.io images:
docker run -v `pwd`:/ws --workdir=/ws quay.io/jbangdev/jbang-action helloworld.java
Github Action
Inputs
Key | Example | Description |
---|---|---|
trust | https://github.com/maxandersen |
Host pattern to add to be trusted before the script are executed. |
jbangargs | --verbose |
Arguments to pass to jbang before the script. |
script | hello.java |
File, URL or alias referring to script to run |
scriptargs | --token ${GITHUB_TOKEN} |
Arguments to pass to the script. Note: due to how github actions + docker arguments containing spaces gets treated as separate arguments no matter how much quoting is done. If you need argument with spaces better to extend the docker file and call jbang directly. |
Outputs
Example usage
Here it is assumed you have a jbang script called createissue.java
in the root of your project.
on: [push]
jobs:
jbang:
runs-on: ubuntu-latest
name: A job to run jbang
steps:
- name: checkout
uses: actions/checkout@v1
- uses: actions/cache@v1
with:
path: /root/.jbang
key: $-jbang-$
restore-keys: |
$-jbang-
- name: jbang
uses: jbangdev/[email protected]
with:
script: createissue.java
scriptargs: "my world"
env:
JBANG_REPO: /root/.jbang/repository
GITHUB_TOKEN: $