Giter VIP home page Giter VIP logo

stacker-build-push-action's Introduction

stacker

stacker-build-push-action

ci

stacker-build-push-action natively builds OCI container images via a declarative yaml format using stacker and publishes them to OCI conformant registries.

For more information about stacker tool see: https://github.com/project-stacker/stacker

Action Inputs

Input Name Type Description Default
file string the yaml file to be built as an OCI image, example: stacker.yaml stacker.yaml
layer-type list output layer type (supported values: tar, squashfs), ca be both separated by whitespace tar
build-args list the list of build-time arguments (subtitutes) separated by newline, see stacker.yaml doc None
url string remote OCI registry + repo name eg: docker://ghcr.io/project-stacker/ None
tags list one or more tags to give the new image, separated by whitespace None
username string used to login to registry None
password string used to login to registry None
skip-tls bool used with unsecure (http) registries false
token string github token used to authenticate against a repository for Git context ${{ github.token }}

Build only example:

- name: Run stacker-build
  uses: project-stacker/stacker-build-push-action@main
  with:
    file: 'test/stacker.yaml'
    build-args: |
      SUB1=VAR1
      SUB2=VAR2
      SUB3=VAR3
    layer-type: 'tar squashfs'

Publish url is built according to the next logic:

input.url + stacker.yaml container name + : + input.tag

Build and push example to ghcr.io:

- name: Run stacker-build
  uses: project-stacker/stacker-build-push-action@main
  with:
    file: 'test/stacker.yaml'
    build-args: |
      SUB1=VAR1
      SUB2=VAR2
      SUB3=VAR3
    layer-type: 'tar squashfs'
    tags: ${{ github.event.release.tag_name }} latest
    url: docker://ghcr.io/${{ github.repository }}
    username: ${{ github.actor }}
    password: ${{ secrets.GITHUB_TOKEN }}

The above action will build test/stacker.yaml and push it to

  1. docker://ghcr.io/project-stacker/stacker/test:latest
  2. docker://ghcr.io/project-stacker/stacker/test:${{ github.event.release.tag_name }}

Build and push example to localhost:

- name: Run stacker-build
  uses: project-stacker/stacker-build-push-action@main
  with:
    file: 'test/stacker.yaml'
    build-args: |
      SUB1=VAR1
      SUB2=VAR2
      SUB3=VAR3
    layer-type: 'tar squashfs'
    url: docker://localhost:5000
    skip-tls: true
    tags: test

The above action will build test/stacker.yaml and push it to

  1. docker://localhost:5000/test:test

stacker-build-push-action's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.