From 7e79423b215cb7e24f6754bf3e9f85bd9b7595e6 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Wed, 8 Oct 2025 10:32:28 -0400 Subject: [PATCH] Revert "Simple stubbed ruby builder" This reverts commit e61a0169ab95b952ef7a4221e24712c724fc299d. --- build/Dockerfile.ruby-builder | 32 ---------- build/build-ruby.sh | 116 ---------------------------------- 2 files changed, 148 deletions(-) delete mode 100644 build/Dockerfile.ruby-builder delete mode 100755 build/build-ruby.sh diff --git a/build/Dockerfile.ruby-builder b/build/Dockerfile.ruby-builder deleted file mode 100644 index 2bbc6c8..0000000 --- a/build/Dockerfile.ruby-builder +++ /dev/null @@ -1,32 +0,0 @@ -# Multi-platform Dockerfile for Ruby builds -# Uses menci/archlinuxarm which supports both amd64 and arm64 -FROM menci/archlinuxarm:latest - -# Initialize pacman keyring (needed for ALARM, harmless for Arch) -RUN pacman-key --init && pacman-key --populate - -# Update package database and install only necessary packages (skip full system upgrade to avoid slow downloads) -RUN pacman -Sy --noconfirm && \ - pacman -S --noconfirm --needed git curl sudo ca-certificates openssl zlib libyaml libffi readline ncurses base-devel jq && \ - pacman -Scc --noconfirm - -# Set mise environment variables for a consistent, container-friendly path -ENV MISE_DATA_DIR=/mise -ENV MISE_CONFIG_DIR=/mise -ENV MISE_CACHE_DIR=/mise/cache -ENV MISE_INSTALL_PATH=/usr/local/bin/mise -ENV PATH=/mise/shims:$PATH - -# Install mise -SHELL ["/bin/bash", "-o", "pipefail", "-c"] -RUN curl https://mise.run | sh - -# Set Ruby build options for relocatable/portable compilation -ENV MISE_RUBY_BUILD_OPTS="--enable-load-relative --with-static-linked-ext" - -# Copy the build script -COPY build-ruby.sh /build/build-ruby.sh -RUN chmod +x /build/build-ruby.sh - -# Default command -CMD ["/build/build-ruby.sh"] \ No newline at end of file diff --git a/build/build-ruby.sh b/build/build-ruby.sh deleted file mode 100755 index 9daba96..0000000 --- a/build/build-ruby.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash -# Build script for Ruby + Rails bundles -set -e - -# Check required environment variables -if [[ -z "$RUBY_VERSION" ]]; then - echo "Error: RUBY_VERSION environment variable is required" - exit 1 -fi - -if [[ -z "$RAILS_VERSION" ]]; then - echo "Error: RAILS_VERSION environment variable is required" - exit 1 -fi - -if [[ -z "$ARCH" ]]; then - echo "Error: ARCH environment variable is required" - exit 1 -fi - -OUTPUT_DIR="/output/ruby/$ARCH" -mkdir -p "$OUTPUT_DIR" - -echo "==> Ruby Bundle Builder" -echo "==> Ruby version: $RUBY_VERSION" -echo "==> Rails version: $RAILS_VERSION" -echo "==> Architecture: $ARCH" -echo "==> Output directory: $OUTPUT_DIR" - -# Handle special Ruby versions -if [[ "$RUBY_VERSION" == "edge" ]]; then - echo "==> Installing Ruby edge from git..." - # mise can install Ruby from git - mise install ruby@ref:master - RUBY_INSTALL_VERSION="ref:master" - TARBALL_VERSION="edge" -else - echo "==> Installing Ruby $RUBY_VERSION..." - mise install "ruby@$RUBY_VERSION" - RUBY_INSTALL_VERSION="$RUBY_VERSION" - TARBALL_VERSION="$RUBY_VERSION" -fi - -# Activate Ruby -echo "==> Activating Ruby..." -mise use "ruby@$RUBY_INSTALL_VERSION" - -# Verify Ruby is working -echo "==> Ruby version check:" -ruby --version - -# Find the actual Ruby installation directory -if [[ "$RUBY_INSTALL_VERSION" == "ref:master" ]]; then - # For edge builds, find the directory (it will have a hash name) - RUBY_DIR=$(ls -d /mise/installs/ruby/ref-* | head -1 | xargs basename) -else - RUBY_DIR="$RUBY_INSTALL_VERSION" -fi - -# Set up gem paths for relocatable installation -export GEM_HOME="/mise/installs/ruby/$RUBY_DIR/lib/ruby/gems" -export GEM_PATH="$GEM_HOME" -export BUNDLE_PATH="$GEM_HOME" -mkdir -p "$GEM_HOME" - -echo "==> Gem environment:" -echo " GEM_HOME: $GEM_HOME" -echo " GEM_PATH: $GEM_PATH" - -# Install Rails -echo "==> Installing Rails $RAILS_VERSION..." -if [[ "$RAILS_VERSION" == "edge" ]]; then - gem install rails --pre - # Get the actual version installed - RAILS_ACTUAL_VERSION=$(gem list rails | grep "^rails " | sed 's/rails (\(.*\))/\1/') - TARBALL_RAILS_VERSION="edge-$RAILS_ACTUAL_VERSION" -else - gem install rails --version "$RAILS_VERSION" - TARBALL_RAILS_VERSION="$RAILS_VERSION" -fi - -# Verify Rails is installed -echo "==> Rails version check:" -rails --version - -# Generate a temporary Rails app to install default gems -echo "==> Generating temporary Rails app to install default gems..." -rails new temp_app --skip-git --skip-bundle -cd temp_app - -# Install all the default gems to our GEM_HOME -bundle install - -# Show installed gems count -echo "==> Installed gems:" -gem list | wc -l - -# Clean up -cd / -rm -rf temp_app - -# Create the tarball with proper naming -TARBALL_NAME="ruby-${TARBALL_VERSION}-rails-${TARBALL_RAILS_VERSION}-${ARCH}.tar.gz" -TARBALL_PATH="$OUTPUT_DIR/$TARBALL_NAME" - -echo "==> Creating tarball: $TARBALL_NAME" - -# Create the tarball including Ruby binaries and all gems -echo " Including Ruby installation and gems..." -tar -czf "$TARBALL_PATH" -C /mise/installs/ruby "$RUBY_DIR" - -# Show file info -echo "==> Tarball created:" -ls -lh "$TARBALL_PATH" - -echo "==> Build complete!" \ No newline at end of file