Revert "DEV: Remove the remaining ENV["TRAVIS"] usage (#10041)"
This reverts commit 78aff841e3
.
See https://review.discourse.org/t/dev-remove-the-remaining-env-travis-usage-10041/12737/4?u=cvx
This commit is contained in:
parent
78aff841e3
commit
669c940ec3
|
@ -58,9 +58,9 @@ desc 'Run all tests (JS and code in a standalone environment)'
|
||||||
task 'docker:test' do
|
task 'docker:test' do
|
||||||
begin
|
begin
|
||||||
@good = true
|
@good = true
|
||||||
|
|
||||||
unless ENV['SKIP_LINT']
|
unless ENV['SKIP_LINT']
|
||||||
@good &&= run_or_fail("yarn install")
|
@good &&= run_or_fail("yarn install")
|
||||||
|
puts "travis_fold:start:lint" if ENV["TRAVIS"]
|
||||||
puts "Running linters/prettyfiers"
|
puts "Running linters/prettyfiers"
|
||||||
puts "eslint #{`yarn eslint -v`}"
|
puts "eslint #{`yarn eslint -v`}"
|
||||||
puts "prettier #{`yarn prettier -v`}"
|
puts "prettier #{`yarn prettier -v`}"
|
||||||
|
@ -93,9 +93,11 @@ task 'docker:test' do
|
||||||
@good &&= run_or_fail('yarn prettier --list-different "plugins/**/*.scss" "plugins/**/*.es6"')
|
@good &&= run_or_fail('yarn prettier --list-different "plugins/**/*.scss" "plugins/**/*.es6"')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
puts "travis_fold:end:lint" if ENV["TRAVIS"]
|
||||||
end
|
end
|
||||||
|
|
||||||
unless ENV['SKIP_TESTS']
|
unless ENV['SKIP_TESTS']
|
||||||
|
puts "travis_fold:start:prepare_tests" if ENV["TRAVIS"]
|
||||||
puts "Cleaning up old test tmp data in tmp/test_data"
|
puts "Cleaning up old test tmp data in tmp/test_data"
|
||||||
`rm -fr tmp/test_data && mkdir -p tmp/test_data/redis && mkdir tmp/test_data/pg`
|
`rm -fr tmp/test_data && mkdir -p tmp/test_data/redis && mkdir tmp/test_data/pg`
|
||||||
|
|
||||||
|
@ -153,7 +155,11 @@ task 'docker:test' do
|
||||||
@good &&= run_or_fail("#{command_prefix}bundle exec rake parallel:migrate")
|
@good &&= run_or_fail("#{command_prefix}bundle exec rake parallel:migrate")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
puts "travis_fold:end:prepare_tests" if ENV["TRAVIS"]
|
||||||
|
|
||||||
unless ENV["JS_ONLY"]
|
unless ENV["JS_ONLY"]
|
||||||
|
puts "travis_fold:start:ruby_tests" if ENV["TRAVIS"]
|
||||||
|
|
||||||
if ENV['WARMUP_TMP_FOLDER']
|
if ENV['WARMUP_TMP_FOLDER']
|
||||||
run_or_fail('bundle exec rspec ./spec/requests/groups_controller_spec.rb')
|
run_or_fail('bundle exec rspec ./spec/requests/groups_controller_spec.rb')
|
||||||
end
|
end
|
||||||
|
@ -204,11 +210,13 @@ task 'docker:test' do
|
||||||
@good &&= run_or_fail("#{fail_fast} bundle exec rake plugin:spec")
|
@good &&= run_or_fail("#{fail_fast} bundle exec rake plugin:spec")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
puts "travis_fold:end:ruby_tests" if ENV["TRAVIS"]
|
||||||
end
|
end
|
||||||
|
|
||||||
unless ENV["RUBY_ONLY"]
|
unless ENV["RUBY_ONLY"]
|
||||||
js_timeout = ENV["JS_TIMEOUT"].presence || 900_000 # 15 minutes
|
js_timeout = ENV["JS_TIMEOUT"].presence || 900_000 # 15 minutes
|
||||||
|
|
||||||
|
puts "travis_fold:start:js_tests" if ENV["TRAVIS"]
|
||||||
unless ENV["SKIP_CORE"]
|
unless ENV["SKIP_CORE"]
|
||||||
@good &&= run_or_fail("bundle exec rake qunit:test['#{js_timeout}']")
|
@good &&= run_or_fail("bundle exec rake qunit:test['#{js_timeout}']")
|
||||||
@good &&= run_or_fail("bundle exec rake qunit:test['#{js_timeout}','/wizard/qunit']")
|
@good &&= run_or_fail("bundle exec rake qunit:test['#{js_timeout}','/wizard/qunit']")
|
||||||
|
@ -221,9 +229,12 @@ task 'docker:test' do
|
||||||
@good &&= run_or_fail("bundle exec rake plugin:qunit['*','#{js_timeout}']")
|
@good &&= run_or_fail("bundle exec rake plugin:qunit['*','#{js_timeout}']")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
puts "travis_fold:end:js_tests" if ENV["TRAVIS"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ensure
|
ensure
|
||||||
|
puts "travis_fold:start:terminating" if ENV["TRAVIS"]
|
||||||
puts "Terminating"
|
puts "Terminating"
|
||||||
|
|
||||||
if ENV['PAUSE_ON_TERMINATE']
|
if ENV['PAUSE_ON_TERMINATE']
|
||||||
|
@ -235,7 +246,11 @@ task 'docker:test' do
|
||||||
Process.kill("TERM", @pg_pid) if @pg_pid
|
Process.kill("TERM", @pg_pid) if @pg_pid
|
||||||
Process.wait @redis_pid if @redis_pid
|
Process.wait @redis_pid if @redis_pid
|
||||||
Process.wait @pg_pid if @pg_pid
|
Process.wait @pg_pid if @pg_pid
|
||||||
|
puts "travis_fold:end:terminating" if ENV["TRAVIS"]
|
||||||
|
end
|
||||||
|
|
||||||
|
if !@good
|
||||||
|
exit 1
|
||||||
end
|
end
|
||||||
|
|
||||||
exit 1 unless @good
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
# => RUN_SMOKE_TESTS executes the smoke tests instead of the regular tests from docker.rake
|
# => RUN_SMOKE_TESTS executes the smoke tests instead of the regular tests from docker.rake
|
||||||
# See lib/tasks/docker.rake and lib/tasks/smoke_test.rake for more information
|
# See lib/tasks/docker.rake and lib/tasks/smoke_test.rake for more information
|
||||||
|
|
||||||
|
puts "travis_fold:end:starting_docker_container" if ENV["TRAVIS"]
|
||||||
|
|
||||||
def log(message)
|
def log(message)
|
||||||
puts "[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{message}"
|
puts "[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{message}"
|
||||||
end
|
end
|
||||||
|
@ -20,17 +22,24 @@ def run_or_fail(command)
|
||||||
end
|
end
|
||||||
|
|
||||||
unless ENV['NO_UPDATE']
|
unless ENV['NO_UPDATE']
|
||||||
|
puts "travis_fold:start:pulling_latest_discourse" if ENV["TRAVIS"]
|
||||||
|
|
||||||
run_or_fail("git reset --hard")
|
run_or_fail("git reset --hard")
|
||||||
|
|
||||||
run_or_fail("git fetch")
|
run_or_fail("git fetch")
|
||||||
|
|
||||||
checkout = ENV['COMMIT_HASH'] || "FETCH_HEAD"
|
checkout = ENV['COMMIT_HASH'] || "FETCH_HEAD"
|
||||||
run_or_fail("LEFTHOOK=0 git checkout #{checkout}")
|
run_or_fail("LEFTHOOK=0 git checkout #{checkout}")
|
||||||
|
|
||||||
|
puts "travis_fold:end:pulling_latest_discourse" if ENV["TRAVIS"]
|
||||||
|
puts "travis_fold:start:bundle" if ENV["TRAVIS"]
|
||||||
|
|
||||||
run_or_fail("bundle")
|
run_or_fail("bundle")
|
||||||
|
|
||||||
|
puts "travis_fold:end:bundle" if ENV["TRAVIS"]
|
||||||
end
|
end
|
||||||
|
|
||||||
log("Running tests")
|
log("Running tests")
|
||||||
|
|
||||||
if ENV['RUN_SMOKE_TESTS']
|
if ENV['RUN_SMOKE_TESTS']
|
||||||
run_or_fail("bundle exec rake smoke:test")
|
run_or_fail("bundle exec rake smoke:test")
|
||||||
else
|
else
|
||||||
|
|
|
@ -6,29 +6,31 @@ describe OptimizedImage do
|
||||||
let(:upload) { build(:upload) }
|
let(:upload) { build(:upload) }
|
||||||
before { upload.id = 42 }
|
before { upload.id = 42 }
|
||||||
|
|
||||||
describe '.crop' do
|
unless ENV["TRAVIS"]
|
||||||
it 'should produce cropped images (requires ImageMagick 7)' do
|
describe '.crop' do
|
||||||
tmp_path = "/tmp/cropped.png"
|
it 'should produce cropped images (requires ImageMagick 7)' do
|
||||||
|
tmp_path = "/tmp/cropped.png"
|
||||||
|
|
||||||
begin
|
begin
|
||||||
OptimizedImage.crop(
|
OptimizedImage.crop(
|
||||||
"#{Rails.root}/spec/fixtures/images/logo.png",
|
"#{Rails.root}/spec/fixtures/images/logo.png",
|
||||||
tmp_path,
|
tmp_path,
|
||||||
5,
|
5,
|
||||||
5
|
5
|
||||||
)
|
)
|
||||||
|
|
||||||
# we don't want to deal with something new here every time image magick
|
# we don't want to deal with something new here every time image magick
|
||||||
# is upgraded or pngquant is upgraded, lets just test the basics ...
|
# is upgraded or pngquant is upgraded, lets just test the basics ...
|
||||||
# cropped image should be less than 120 bytes
|
# cropped image should be less than 120 bytes
|
||||||
|
|
||||||
cropped_size = File.size(tmp_path)
|
cropped_size = File.size(tmp_path)
|
||||||
|
|
||||||
expect(cropped_size).to be < 120
|
expect(cropped_size).to be < 120
|
||||||
expect(cropped_size).to be > 50
|
expect(cropped_size).to be > 50
|
||||||
|
|
||||||
ensure
|
ensure
|
||||||
File.delete(tmp_path) if File.exists?(tmp_path)
|
File.delete(tmp_path) if File.exists?(tmp_path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -24,45 +24,48 @@ describe UserAvatarsController do
|
||||||
after do
|
after do
|
||||||
FileUtils.rm(Discourse.store.path_for(upload))
|
FileUtils.rm(Discourse.store.path_for(upload))
|
||||||
end
|
end
|
||||||
|
# travis is not good here, no image magick
|
||||||
|
if !ENV["TRAVIS"]
|
||||||
|
let :upload do
|
||||||
|
File.open(file_from_fixtures("cropped.png")) do |f|
|
||||||
|
UploadCreator.new(
|
||||||
|
f,
|
||||||
|
"test.png"
|
||||||
|
).create_for(-1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
let :upload do
|
let :user do
|
||||||
File.open(file_from_fixtures("cropped.png")) do |f|
|
user = Fabricate(:user)
|
||||||
UploadCreator.new(
|
user.user_avatar.update_columns(custom_upload_id: upload.id)
|
||||||
f,
|
user.update_columns(uploaded_avatar_id: upload.id)
|
||||||
"test.png"
|
user
|
||||||
).create_for(-1)
|
end
|
||||||
|
|
||||||
|
it 'automatically corrects bad avatar extensions' do
|
||||||
|
orig = Discourse.store.path_for(upload)
|
||||||
|
|
||||||
|
upload.update_columns(
|
||||||
|
original_filename: 'bob.jpg',
|
||||||
|
extension: 'jpg',
|
||||||
|
url: upload.url + '.jpg'
|
||||||
|
)
|
||||||
|
|
||||||
|
# at this point file is messed up
|
||||||
|
FileUtils.mv(orig, Discourse.store.path_for(upload))
|
||||||
|
|
||||||
|
SiteSetting.avatar_sizes = "50"
|
||||||
|
|
||||||
|
get "/user_avatar/default/#{user.username}/50/#{upload.id}.png"
|
||||||
|
|
||||||
|
expect(OptimizedImage.where(upload_id: upload.id).count).to eq(1)
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
|
||||||
|
upload.reload
|
||||||
|
expect(upload.extension).to eq('png')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
let :user do
|
|
||||||
user = Fabricate(:user)
|
|
||||||
user.user_avatar.update_columns(custom_upload_id: upload.id)
|
|
||||||
user.update_columns(uploaded_avatar_id: upload.id)
|
|
||||||
user
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'automatically corrects bad avatar extensions' do
|
|
||||||
orig = Discourse.store.path_for(upload)
|
|
||||||
|
|
||||||
upload.update_columns(
|
|
||||||
original_filename: 'bob.jpg',
|
|
||||||
extension: 'jpg',
|
|
||||||
url: upload.url + '.jpg'
|
|
||||||
)
|
|
||||||
|
|
||||||
# at this point file is messed up
|
|
||||||
FileUtils.mv(orig, Discourse.store.path_for(upload))
|
|
||||||
|
|
||||||
SiteSetting.avatar_sizes = "50"
|
|
||||||
|
|
||||||
get "/user_avatar/default/#{user.username}/50/#{upload.id}.png"
|
|
||||||
|
|
||||||
expect(OptimizedImage.where(upload_id: upload.id).count).to eq(1)
|
|
||||||
expect(response.status).to eq(200)
|
|
||||||
|
|
||||||
upload.reload
|
|
||||||
expect(upload.extension).to eq('png')
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'handles non local content correctly' do
|
it 'handles non local content correctly' do
|
||||||
|
|
Loading…
Reference in New Issue