commit
d4c5ff1c73
@ -1 +1 @@ |
||||
2.7.2 |
||||
2.7.3 |
||||
|
@ -1,157 +0,0 @@ |
||||
#-- copyright |
||||
# OpenProject is an open source project management software. |
||||
# Copyright (C) 2012-2021 the OpenProject GmbH |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
|
||||
language: ruby |
||||
|
||||
rvm: |
||||
- 2.7.2 |
||||
|
||||
sudo: required |
||||
dist: xenial |
||||
|
||||
cache: |
||||
bundler: true |
||||
directories: |
||||
- public/assets |
||||
- frontend/src/locales |
||||
- ~/.webdrivers |
||||
|
||||
branches: |
||||
only: |
||||
- master |
||||
- dev |
||||
- bim-dev |
||||
- /^(stable|release)\/.*$/ |
||||
|
||||
env: |
||||
global: |
||||
- CI=true |
||||
- RAILS_ENV=test |
||||
|
||||
|
||||
before_install: |
||||
|
||||
# work around https://github.com/travis-ci/travis-ci/issues/8969 |
||||
# Currently causes error but as it will probably be required later on again, |
||||
# I leave the code as a reminder. |
||||
# - travis_retry gem update --system |
||||
# Install latest bundler |
||||
- gem install bundler |
||||
|
||||
# We do not want those gem groups |
||||
- bundle config set without 'development production docker' |
||||
|
||||
# Install Node latest LTS |
||||
# This should only be necessary when preparing the cache or for npm test runs |
||||
# but installing later fails for unknown reasons. |
||||
- nvm install --lts |
||||
|
||||
stages: |
||||
- prepare cache |
||||
- test |
||||
|
||||
jobs: |
||||
include: |
||||
- stage: prepare cache |
||||
name: 'Prepare cache' |
||||
script: |
||||
# Run the dangerfile and set up caching |
||||
# Run in one command to fail early |
||||
- bundle binstubs danger --force |
||||
- bash script/ci/dangerfile.sh && bash script/ci/db_setup.sh && bash script/ci/cache_prepare.sh |
||||
- stage: test |
||||
name: 'npm' |
||||
script: |
||||
- bash script/ci/setup.sh npm |
||||
- bash script/ci/runner.sh npm |
||||
|
||||
- stage: test |
||||
name: 'legacy specs (1/1)' |
||||
script: |
||||
- bash script/ci/setup.sh spec_legacy |
||||
- bash script/ci/runner.sh spec_legacy 1 1 |
||||
- stage: test |
||||
name: 'units (1/5)' |
||||
script: |
||||
- bash script/ci/setup.sh units |
||||
- bash script/ci/runner.sh units 5 1 |
||||
- stage: test |
||||
name: 'units (2/5)' |
||||
script: |
||||
- bash script/ci/setup.sh units |
||||
- bash script/ci/runner.sh units 5 2 |
||||
- stage: test |
||||
name: 'units (3/5)' |
||||
script: |
||||
- bash script/ci/setup.sh units |
||||
- bash script/ci/runner.sh units 5 3 |
||||
- stage: test |
||||
name: 'units (4/5)' |
||||
script: |
||||
- bash script/ci/setup.sh units |
||||
- bash script/ci/runner.sh units 5 4 |
||||
- stage: test |
||||
name: 'units (5/5)' |
||||
script: |
||||
- bash script/ci/setup.sh units |
||||
- bash script/ci/runner.sh units 5 5 |
||||
- stage: test |
||||
name: 'features (1/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 1 |
||||
- stage: test |
||||
name: 'features (2/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 2 |
||||
- stage: test |
||||
name: 'features (3/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 3 |
||||
- stage: test |
||||
name: 'features (4/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 4 |
||||
- stage: test |
||||
name: 'features (5/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 5 |
||||
- stage: test |
||||
name: 'features (6/6)' |
||||
script: |
||||
- bash script/ci/setup.sh features |
||||
- bash script/ci/runner.sh features 6 6 |
||||
|
||||
|
||||
addons: |
||||
chrome: stable |
||||
postgresql: "9.6" |
@ -1,48 +0,0 @@ |
||||
#!/usr/bin/env ruby |
||||
require 'pathname' |
||||
require 'travis/pro' |
||||
require 'travis/pro/auto_login' |
||||
require 'rest-client' |
||||
require 'parallel' |
||||
require 'ruby-progressbar' |
||||
|
||||
# current branch |
||||
branch_name = `git rev-parse --abbrev-ref HEAD`.strip |
||||
|
||||
pr_number = nil |
||||
|
||||
begin |
||||
response = RestClient.get "https://api.github.com/repos/opf/openproject/pulls?state=open&head=opf:#{branch_name}" |
||||
json = JSON.parse(response) |
||||
pr_number = json.first['number'] |
||||
rescue StandardError => e |
||||
warn "Failed to get PR number from #{branch_name}: #{e} #{e.message}" |
||||
end |
||||
|
||||
puts "Looking for PR #{pr_number}" |
||||
build = Travis::Pro::Repository.find('opf/openproject') |
||||
.each_build |
||||
.detect { |b| b.pull_request_number == pr_number.to_i } |
||||
|
||||
raise "No build found for PR#{pr_number}" unless build |
||||
|
||||
results = Parallel.map(build.jobs, progress: 'Searching logs') do |job| |
||||
# internal log access seems broken |
||||
errors = [] |
||||
|
||||
log = job.log.session.get_raw("jobs/#{job.id}/log") |
||||
|
||||
if log.is_a?(Hash) |
||||
log = log['log']['body'] |
||||
end |
||||
|
||||
log.scan(/^rspec (\S+) #.+$/) do |match| |
||||
errors << match |
||||
end |
||||
|
||||
errors |
||||
end |
||||
|
||||
specs = results.flatten.join(" ") |
||||
|
||||
puts "Errors\n\n#{specs}" |
Loading…
Reference in new issue