Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .expeditor/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ slack:
# This publish is triggered by the `built_in:publish_rubygems` artifact_action.
rubygems:
- mixlib-shellout
- mixlib-shellout-universal-mingw32
- mixlib-shellout-universal-mingw-ucrt

github:
Expand Down
38 changes: 38 additions & 0 deletions dev/linux/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Linux Development Container for mixlib-shellout
# Build: docker build -f dev/Dockerfile.linux -t mixlib-shellout-dev-linux .
# Run: docker run -it -v $(pwd):/workspace mixlib-shellout-dev-linux

FROM ubuntu:22.04

# Avoid prompts from apt
ENV DEBIAN_FRONTEND=noninteractive

# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
curl \
git \
libssl-dev \
libreadline-dev \
zlib1g-dev \
autoconf \
bison \
libyaml-dev \
libncurses5-dev \
libffi-dev \
libgdbm-dev \
&& rm -rf /var/lib/apt/lists/*

# Install Ruby 3.1
RUN curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
ENV PATH="/root/.rbenv/bin:/root/.rbenv/shims:$PATH"
RUN echo 'eval "$(rbenv init -)"' >> ~/.bashrc
RUN rbenv install 3.1.6 && rbenv global 3.1.6

# Install bundler
RUN gem install bundler --no-document

# Set working directory
WORKDIR /workspace

CMD ["/bin/bash"]
27 changes: 27 additions & 0 deletions dev/windows/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

# Install Chocolatey
RUN Set-ExecutionPolicy Bypass -Scope Process -Force; \
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; \
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Install Ruby with DevKit via Chocolatey
RUN choco install ruby --version=3.1.6.1 -y --params "'/InstallDir:C:\Ruby31-x64'"
RUN choco install msys2 -y

# Add Ruby to PATH
RUN $env:PATH = 'C:\\Ruby31-x64\\bin;' + $env:PATH; \
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine)

# Install bundler and required gems
RUN gem install bundler --no-document

# Set working directory
WORKDIR C:\\workspace

# Install ridk (Ruby Installer Development Kit)
RUN ridk install 2 3

CMD ["powershell.exe"]