diff --git a/.expeditor/config.yml b/.expeditor/config.yml index 5a4cd54..354dce2 100644 --- a/.expeditor/config.yml +++ b/.expeditor/config.yml @@ -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: diff --git a/dev/linux/Dockerfile b/dev/linux/Dockerfile new file mode 100644 index 0000000..c6cee94 --- /dev/null +++ b/dev/linux/Dockerfile @@ -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"] \ No newline at end of file diff --git a/dev/windows/Dockerfile b/dev/windows/Dockerfile new file mode 100644 index 0000000..0c16f95 --- /dev/null +++ b/dev/windows/Dockerfile @@ -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"] \ No newline at end of file