49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
FROM alpine
|
|
|
|
# Run locally: `earthly +all` to run full CI process
|
|
all:
|
|
BUILD --build-arg RUBY=3.0 +test
|
|
BUILD --build-arg RUBY=2.7 +test
|
|
BUILD --build-arg RUBY=2.5 +test
|
|
BUILD --build-arg RUBY=jruby:9.2.14.0 +test
|
|
BUILD style-check
|
|
BUILD profile-docs
|
|
|
|
# Run locally: `earthly +test`
|
|
# Run with specific version: `earthly --build-arg RUBY=2.5 +test`
|
|
test:
|
|
FROM +deps
|
|
RUN script/test
|
|
RUN script/cucumber
|
|
RUN script/default-site
|
|
|
|
style-check:
|
|
FROM +deps
|
|
RUN script/fmt
|
|
|
|
profile-docs:
|
|
FROM +deps
|
|
RUN bundle install --jobs 4
|
|
RUN script/profile-docs
|
|
RUN script/memprof
|
|
|
|
# Install dependencies and copy in source
|
|
# used in above steps
|
|
deps:
|
|
ARG RUBY=3.0
|
|
IF case $RUBY in jruby*) ;; *) false; esac
|
|
FROM $RUBY
|
|
ENV JRUBY_OPTS="--dev -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-XX:CompileThreshold=10 -J-XX:ReservedCodeCacheSize=128M"
|
|
ELSE
|
|
FROM ruby:$RUBY
|
|
END
|
|
WORKDIR /src
|
|
RUN apt-get update && apt-get install nodejs dnsutils git make coreutils g++ build-essential -y
|
|
RUN gem install bundler
|
|
RUN gem install sassc -v '2.4.0' --source 'https://rubygems.org/'
|
|
COPY Gemfile .
|
|
COPY jekyll.gemspec .
|
|
COPY lib/jekyll/version.rb lib/jekyll/version.rb
|
|
COPY test test
|
|
RUN bundle install --jobs 4
|
|
COPY . . |