Skip to content

Commit

Permalink
DEV: Remove the remaining Travis code (discourse#13255)
Browse files Browse the repository at this point in the history
The second attempt at discourse#10041 now that all our plugins use GitHub Actions CI instead.
  • Loading branch information
CvX authored Jun 2, 2021
1 parent 4a7c043 commit 3bb765a
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 95 deletions.
20 changes: 2 additions & 18 deletions lib/tasks/docker.rake
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ desc 'Run all tests (JS and code in a standalone environment)'
task 'docker:test' do
begin
@good = true

unless ENV['SKIP_LINT']
@good &&= run_or_fail("yarn install")
puts "travis_fold:start:lint" if ENV["TRAVIS"]
puts "Running linters/prettyfiers"
puts "eslint #{`yarn eslint -v`}"
puts "prettier #{`yarn prettier -v`}"
Expand Down Expand Up @@ -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}"')
end
end
puts "travis_fold:end:lint" if ENV["TRAVIS"]
end

unless ENV['SKIP_TESTS']
puts "travis_fold:start:prepare_tests" if ENV["TRAVIS"]
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`

Expand Down Expand Up @@ -156,11 +154,7 @@ task 'docker:test' do
@good &&= run_or_fail("#{command_prefix}bundle exec rake parallel:migrate")
end

puts "travis_fold:end:prepare_tests" if ENV["TRAVIS"]

unless ENV["JS_ONLY"]
puts "travis_fold:start:ruby_tests" if ENV["TRAVIS"]

if ENV['WARMUP_TMP_FOLDER']
run_or_fail('bundle exec rspec ./spec/requests/groups_controller_spec.rb')
end
Expand Down Expand Up @@ -211,13 +205,11 @@ task 'docker:test' do
@good &&= run_or_fail("#{fail_fast} bundle exec rake plugin:spec")
end
end
puts "travis_fold:end:ruby_tests" if ENV["TRAVIS"]
end

unless ENV["RUBY_ONLY"]
js_timeout = ENV["JS_TIMEOUT"].presence || 900_000 # 15 minutes

puts "travis_fold:start:js_tests" if ENV["TRAVIS"]
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}','/wizard/qunit']")
Expand All @@ -237,13 +229,9 @@ task 'docker:test' do
@good &&= run_or_fail("yarn ember test")
end
end

puts "travis_fold:end:js_tests" if ENV["TRAVIS"]
end
end

ensure
puts "travis_fold:start:terminating" if ENV["TRAVIS"]
puts "Terminating"

if ENV['PAUSE_ON_TERMINATE']
Expand All @@ -255,11 +243,7 @@ task 'docker:test' do
Process.kill("TERM", @pg_pid) if @pg_pid
Process.wait @redis_pid if @redis_pid
Process.wait @pg_pid if @pg_pid
puts "travis_fold:end:terminating" if ENV["TRAVIS"]
end

if !@good
exit 1
end

exit 1 unless @good
end
10 changes: 0 additions & 10 deletions lib/tasks/qunit.rake
Original file line number Diff line number Diff line change
Expand Up @@ -96,17 +96,7 @@ task "qunit:test", [:timeout, :qunit_path] do |_, args|
puts "Rails server is warmed up"

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?

ensure
# was having issues with HUP
Process.kill "-KILL", pid
Expand Down
11 changes: 1 addition & 10 deletions script/docker_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
# => 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

puts "travis_fold:end:starting_docker_container" if ENV["TRAVIS"]

def log(message)
puts "[#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}] #{message}"
end
Expand All @@ -22,24 +20,17 @@ def run_or_fail(command)
end

unless ENV['NO_UPDATE']
puts "travis_fold:start:pulling_latest_discourse" if ENV["TRAVIS"]

run_or_fail("git reset --hard")

run_or_fail("git fetch")

checkout = ENV['COMMIT_HASH'] || "FETCH_HEAD"
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")

puts "travis_fold:end:bundle" if ENV["TRAVIS"]
end

log("Running tests")

if ENV['RUN_SMOKE_TESTS']
run_or_fail("bundle exec rake smoke:test")
else
Expand Down
38 changes: 18 additions & 20 deletions spec/models/optimized_image_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,29 @@
let(:upload) { build(:upload) }
before { upload.id = 42 }

unless ENV["TRAVIS"]
describe '.crop' do
it 'should produce cropped images (requires ImageMagick 7)' do
tmp_path = "/tmp/cropped.png"
describe '.crop' do
it 'should produce cropped images (requires ImageMagick 7)' do
tmp_path = "/tmp/cropped.png"

begin
OptimizedImage.crop(
"#{Rails.root}/spec/fixtures/images/logo.png",
tmp_path,
5,
5
)
begin
OptimizedImage.crop(
"#{Rails.root}/spec/fixtures/images/logo.png",
tmp_path,
5,
5
)

# 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 ...
# cropped image should be less than 120 bytes
# 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 ...
# 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 > 50
expect(cropped_size).to be < 120
expect(cropped_size).to be > 50

ensure
File.delete(tmp_path) if File.exists?(tmp_path)
end
ensure
File.delete(tmp_path) if File.exists?(tmp_path)
end
end

Expand Down
69 changes: 32 additions & 37 deletions spec/requests/user_avatars_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
require 'rails_helper'

describe UserAvatarsController do

context 'show_proxy_letter' do
it 'returns not found if external avatar is set somewhere else' do
SiteSetting.external_system_avatars_url = "https://somewhere.else.com/avatar.png"
Expand All @@ -19,52 +18,48 @@
end

context 'show' do
context 'invalid' do
after do
FileUtils.rm(Discourse.store.path_for(upload))
end

# travis is not good here, no image magick
if !ENV["TRAVIS"]
context 'invalid' do
after do
FileUtils.rm(Discourse.store.path_for(upload))
end

let :upload do
File.open(file_from_fixtures("cropped.png")) do |f|
UploadCreator.new(
f,
"test.png"
).create_for(-1)
end
let :upload do
File.open(file_from_fixtures("cropped.png")) do |f|
UploadCreator.new(
f,
"test.png"
).create_for(-1)
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
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)
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'
)
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))
# at this point file is messed up
FileUtils.mv(orig, Discourse.store.path_for(upload))

SiteSetting.avatar_sizes = "50"
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)
expect(response.status).to eq(200)

upload.reload
expect(upload.extension).to eq('png')
end
upload.reload
expect(upload.extension).to eq('png')
end
end

Expand Down

0 comments on commit 3bb765a

Please sign in to comment.