All Projects → jbangdev → jbang-action

jbangdev / jbang-action

Licence: MIT license
Docker image and Github Action to run jbang scripts

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

JBang Container for Docker and Github Action

GitHub release badge GitHub license badge GitHub Workflows badge DockerHub Pulls

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.

Source

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: $
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].