Coder Social home page Coder Social logo

cicirello / pyaction Goto Github PK

View Code? Open in Web Editor NEW
26.0 3.0 4.0 263 KB

A Docker container with Python, git, and the Github CLI

Home Page: https://actions.cicirello.org/pyaction/

License: MIT License

Dockerfile 19.81% Python 80.19%
docker-image python linux git github-actions github-cli gh curl gpg github-api

pyaction's Introduction

pyaction

pyaction - A Docker container with Python, git, and the GitHub CLI

Website for our GitHub Actions and tools for developing them: https://actions.cicirello.org/

Summary

Docker Hub Docker Image Version (latest by date) Docker Pulls
GitHub GitHub release (latest by date)
Image Stats Docker Image Size (latest by date)
Build Status build
License License
Support GitHub Sponsors Liberapay Ko-Fi

This Docker image is designed to support implementing Github Actions with Python. As of version 4.0.0., it starts with the official python docker image as the base, which is a Debian OS. It specifically uses python:3-slim to keep the image size down for faster loading of Github Actions that use pyaction. On top of the base, we've installed curl, gpg, git, and the GitHub CLI. We added curl and gpg because they are needed to install the GitHub CLI, and they may come in handy anyway (especially curl) when implementing a GitHub Action.

Blog Post on DEV: pyaction: A Docker container with Python, git, and the GitHub CLI, posted on December 28, 2022. See a list of additional blog posts later in this README.

Multiplatform Image

Version 4.0.0 and Newer: pyaction supports the following platforms:

  • linux/386
  • linux/amd64
  • linux/arm/v7
  • linux/arm64

Version 3.14.0 and Earlier: earlier releases supported the above as well as the following:

  • linux/arm/v6
  • linux/ppc64le
  • linux/s390x

Source Repository and Builds

The source repository is maintained on GitHub. The images are built on Github and pushed to Docker Hub, as well as the Github Container Registry using Github Actions.

Our daily automated CI/CD processes monitor for updates to the Python slim Docker image, the GitHub CLI, etc. Upon detecting such updates, we release an update of pyaction sometimes as early as same day, but possibly a few days later.

See CHANGELOG for details of versions of Python, GitHub CLI, git, etc included in each pyaction release.

Docker Tags and Versioning Scheme

We use Semantic Versioning for our tags. Semantic Versioning uses version numbers of the form: MAJOR.MINOR.PATCH, where differences in MAJOR correspond to incompatible changes, differences in MINOR correspond to introduction of backwards compatible new functionality, and PATCH corresponds to backwards compatible bug fixes.

Each image pushed to Docker Hub and the Github Container Registry is tagged as follows:

  • The tag latest indicates, well, the latest image.
  • Tags of the form MAJOR.MINOR.PATCH (e.g., 4.0.0).
  • Tags of the form MAJOR.MINOR (e.g., 4.0).
  • Tags of the form MAJOR (e.g., 4).

Installation and Usage

The pre-built image is hosted on both Docker Hub and the Github Container Registry. You can use it in the following ways.

Docker Pull Command

Pull the latest image from Docker Hub with the following (replace latest with a specific version number if you prefer):

docker pull cicirello/pyaction:latest

Pull from the Github Container Registry with:

docker pull ghcr.io/cicirello/pyaction:latest

Use as a base image in a Dockerfile

Use as a base image in a Dockerfile (replace latest with a specific version number if you prefer):

FROM cicirello/pyaction:latest

# The rest of your Dockerfile would go here.

Or you can use as a base image (via the Github Container Registry) with:

FROM ghcr.io/cicirello/pyaction:latest

# The rest of your Dockerfile would go here.

Blog Posts

Here are a few blog posts about the pyaction container listed in reverse chronological order:

License

Source Code License

The source code, including the Dockerfile and anything else within the Github repository for pyaction, is licensed under the MIT License.

Image Licenses

As with all pre-built Docker images, the image itself (once built, or obtained from Docker Hub or the Github Container Registry) contains software that is covered by a variety of licenses. See the license information for the python docker image, the license for git, the GitHub CLI, and the license for Python.

If you build and distribute an image containing your software, using pyaction as the base image, it is your responsibility to follow the licenses of all of the software contained within the image.

pyaction's People

Contributors

cicirello avatar dependabot[bot] avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pyaction's Issues

Update documentation for version 4.0.0.

Version 4.0.0 added the GitHub CLI, etc, and also changed the base image, and removed support for a few archs. The readme needs to be updated both here on GitHub as well as on Docker Hub.

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.