mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 23:36:11 +08:00
DEV: Remove the remaining Travis code (#13255)
The second attempt at #10041 now that all our plugins use GitHub Actions CI instead.
This commit is contained in:
@ -59,9 +59,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`}"
|
||||||
@ -94,11 +94,9 @@ task 'docker:test' do
|
|||||||
@good &&= run_or_fail('yarn prettier --list-different "plugins/**/assets/stylesheets/**/*.scss" "plugins/**/assets/javascripts/**/*.{js,es6}"')
|
@good &&= run_or_fail('yarn prettier --list-different "plugins/**/assets/stylesheets/**/*.scss" "plugins/**/assets/javascripts/**/*.{js,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`
|
||||||
|
|
||||||
@ -156,11 +154,7 @@ 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
|
||||||
@ -211,13 +205,11 @@ 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']")
|
||||||
@ -237,13 +229,9 @@ task 'docker:test' do
|
|||||||
@good &&= run_or_fail("yarn ember test")
|
@good &&= run_or_fail("yarn ember test")
|
||||||
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']
|
||||||
@ -255,11 +243,7 @@ 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
|
||||||
|
@ -96,17 +96,7 @@ task "qunit:test", [:timeout, :qunit_path] do |_, args|
|
|||||||
puts "Rails server is warmed up"
|
puts "Rails server is warmed up"
|
||||||
|
|
||||||
sh(cmd)
|
sh(cmd)
|
||||||
|
|
||||||
# A bit of a hack until we can figure this out on Travis
|
|
||||||
tries = 0
|
|
||||||
while tries < 3 && $?.exitstatus == 124
|
|
||||||
tries += 1
|
|
||||||
puts "\nTimed Out. Trying again...\n"
|
|
||||||
sh(cmd)
|
|
||||||
end
|
|
||||||
|
|
||||||
success &&= $?.success?
|
success &&= $?.success?
|
||||||
|
|
||||||
ensure
|
ensure
|
||||||
# was having issues with HUP
|
# was having issues with HUP
|
||||||
Process.kill "-KILL", pid
|
Process.kill "-KILL", pid
|
||||||
|
@ -8,8 +8,6 @@
|
|||||||
# => 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
|
||||||
@ -22,24 +20,17 @@ 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,31 +6,29 @@ describe OptimizedImage do
|
|||||||
let(:upload) { build(:upload) }
|
let(:upload) { build(:upload) }
|
||||||
before { upload.id = 42 }
|
before { upload.id = 42 }
|
||||||
|
|
||||||
unless ENV["TRAVIS"]
|
describe '.crop' do
|
||||||
describe '.crop' do
|
it 'should produce cropped images (requires ImageMagick 7)' do
|
||||||
it 'should produce cropped images (requires ImageMagick 7)' do
|
tmp_path = "/tmp/cropped.png"
|
||||||
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
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe UserAvatarsController do
|
describe UserAvatarsController do
|
||||||
|
|
||||||
context 'show_proxy_letter' do
|
context 'show_proxy_letter' do
|
||||||
it 'returns not found if external avatar is set somewhere else' do
|
it 'returns not found if external avatar is set somewhere else' do
|
||||||
SiteSetting.external_system_avatars_url = "https://somewhere.else.com/avatar.png"
|
SiteSetting.external_system_avatars_url = "https://somewhere.else.com/avatar.png"
|
||||||
@ -19,52 +18,48 @@ describe UserAvatarsController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context 'show' do
|
context 'show' do
|
||||||
|
context 'invalid' do
|
||||||
|
after do
|
||||||
|
FileUtils.rm(Discourse.store.path_for(upload))
|
||||||
|
end
|
||||||
|
|
||||||
# travis is not good here, no image magick
|
let :upload do
|
||||||
if !ENV["TRAVIS"]
|
File.open(file_from_fixtures("cropped.png")) do |f|
|
||||||
context 'invalid' do
|
UploadCreator.new(
|
||||||
after do
|
f,
|
||||||
FileUtils.rm(Discourse.store.path_for(upload))
|
"test.png"
|
||||||
|
).create_for(-1)
|
||||||
end
|
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
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
let :user do
|
it 'automatically corrects bad avatar extensions' do
|
||||||
user = Fabricate(:user)
|
orig = Discourse.store.path_for(upload)
|
||||||
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
|
upload.update_columns(
|
||||||
orig = Discourse.store.path_for(upload)
|
original_filename: 'bob.jpg',
|
||||||
|
extension: 'jpg',
|
||||||
|
url: upload.url + '.jpg'
|
||||||
|
)
|
||||||
|
|
||||||
upload.update_columns(
|
# at this point file is messed up
|
||||||
original_filename: 'bob.jpg',
|
FileUtils.mv(orig, Discourse.store.path_for(upload))
|
||||||
extension: 'jpg',
|
|
||||||
url: upload.url + '.jpg'
|
|
||||||
)
|
|
||||||
|
|
||||||
# at this point file is messed up
|
SiteSetting.avatar_sizes = "50"
|
||||||
FileUtils.mv(orig, Discourse.store.path_for(upload))
|
|
||||||
|
|
||||||
SiteSetting.avatar_sizes = "50"
|
get "/user_avatar/default/#{user.username}/50/#{upload.id}.png"
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
expect(OptimizedImage.where(upload_id: upload.id).count).to eq(1)
|
upload.reload
|
||||||
expect(response.status).to eq(200)
|
expect(upload.extension).to eq('png')
|
||||||
|
|
||||||
upload.reload
|
|
||||||
expect(upload.extension).to eq('png')
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user