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 . . |