Giter Club home page Giter Club logo

virtual-environments-fork's Introduction

GitHub Actions Virtual Environments

Repository contains the source used to create the virtual environments for GitHub Actions hosted runners, as well as the VM images of Microsoft-hosted agents used for Azure Pipelines. To build a VM machine from this repo's source, see the instructions.

How to get in touch with us:

  • To file a bug report, or request tools to be added/updated, please open an issue using the appropriate template
  • If you want to share your thoughts about image configuration, installed software, or bring some idea, please, create a new topic in a discussions section for a corresponding category. Before making a new discussion please make sure no similar topics were created earlier.

For general questions about using the virtual environments or writing your Actions workflow, please open requests in the GitHub Actions Community Forum.

Available Environments

Environment YAML Label Included Software Latest Release & Rollout Progress
Ubuntu 22.04 beta ubuntu-22.04 ubuntu-22.04 ubuntu-22.04-badge
Ubuntu 20.04 ubuntu-latest or ubuntu-20.04 ubuntu-20.04 ubuntu-20.04-badge
Ubuntu 18.04 ubuntu-18.04 ubuntu-18.04 ubuntu-18.04-badge
macOS 12 macos-12 macOS-12 macos-12-badge
macOS 11 macos-latest or macos-11 macOS-11 macos-11-badge
macOS 10.15 macos-10.15 macOS-10.15 macos-10.15-badge
Windows Server 2022 windows-latest or windows-2022 windows-2022 windows-2022-badge
Windows Server 2019 windows-2019 windows-2019 windows-2019-badge
Windows Server 2016 windows-2016 windows-2016 windows-2016-badge

Note: Beta and Preview images are provided "as-is", "with all faults" and "as available" and are excluded from the service level agreement and warranty. Beta and Preview images may not be covered by customer support.

What images are available for GitHub Actions and Azure DevOps? The availability of images for GitHub Actions and Azure DevOps is different. See documentation for more details:

What image version is used in my build? Usually, image deployment takes 3-4 days, and documentation in the main branch is only updated when deployment is finished. To find out which image version and what software versions are used in a specific build, see Set up job (GitHub Actions) or Initialize job (Azure DevOps) step log.

Looking for other Linux distributions? We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage self-hosted runners and fully customize your environment to your needs.

How to contribute to macOS source? macOS source lives in this repository and available for everyone. However, MacOS image-generation CI doesn't support external contributions yet so we are not able to accept pull-requests for now. We are in the process of preparing MacOS CI to accept contributions. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.

Updates to virtual environments

Cadence

We typically deploy weekly updates to the software on the virtual environments. For some tools, we always install the latest at the time of the deployment; for others, we pin the tool to specific version(s).

Following Along / Change Notifications

  • High Impact Changes (ex. breaking changes, new or deprecated environments) will be posted to the GitHub Changelog on our blog and on twitter.
  • Low Impact Changes will be pinned in this repository and marked with the Announcement label.
  • Regular Weekly Rhythm can be followed by watching Releases. Pre-release is created when deployment is started. As soon as deployment is finished, it is converted to release. You can also track upcoming changes using the awaiting-deployment label.

Software and image guidelines

To learn more about tools and images support policy, see the guidelines.

virtual-environments-fork's People

Contributors

459680 avatar al-cheb avatar alenasviridenko avatar alepauly avatar andreymaslennikov avatar andy-mishechkin avatar chrisgavin avatar darleev avatar ddobranic avatar dibir-magomedsaygitov avatar dmitry-shibanov avatar dzsquared avatar github-actions[bot] avatar igorboskovic3 avatar kaylangan avatar leonidlapshin avatar maksimzhukov avatar maxim-lobanov avatar miketimofeev avatar mikhailkoliada avatar nikita-bykov avatar nikolai-frolov avatar saschamann avatar sergey-akhalkov avatar shadyysf avatar shilovmaksim avatar shivammathur avatar v-zabayrachny avatar vmapetr avatar vsafonkin avatar

Stargazers

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

Watchers

 avatar  avatar

virtual-environments-fork's Issues

`docker run busybox true` doesn't work in ghcr.io/catthehacker/ubuntu:full-18.04

Description

The runner user isn't a member of the docker group, and /var/run/docker.sock is root:root which means that GitHub Workflows that expect to be able to run docker commands fail.

Virtual environments affected

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • macOS 10.15
  • macOS 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

% act --version
act version 0.2.24
% docker images|grep full
ghcr.io/catthehacker/ubuntu       full-18.04       ba48b179cc81   2 months ago   36.9GB

Is it regression?

No response

Expected behavior

the docker socket should be accessible by the runner user.

Implementation detail, for GHA, runner gid=docker and the docker.sock group is docker.

Actual behavior

runner@docker-desktop:~$ docker run busybox true
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

Repro steps

  1. Get a repository to use w/ act
git clone https://github.com/jsoref/nebula-python --branch act
cd nebula-python
  1. Try running w/ act
act -P ubuntu-18.04=ghcr.io/catthehacker/ubuntu:full-18.04 
# wait a few hours
# eventually this fails with an unhappy message
  1. Enter act virtual-environment
docker exec -it $(docker ps|grep cat|perl -pne 's/\s.*//') bash
  1. Test docker
docker run busybox true
  1. Workaround
sudo chown runner /var/run/docker.sock

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.