ci: run integration tests
* pin maze to v1
* delete duplicate test step
* avoid attempting to download unnecessary dependencies, which are prone
to spurious failure, especially on early Go versions.
Delisa Mason
3 years ago
33 | 33 |
# go1.12 vet shows spurious 'unknown identifier' issues
|
34 | 34 |
if: matrix.go-version != '1.7' && matrix.go-version != '1.8' && matrix.go-version != '1.9' && matrix.go-version != '1.10' && matrix.go-version != '1.12'
|
35 | 35 |
run: go vet . ./gin ./martini ./negroni ./sessions ./headers ./errors
|
|
36 |
|
|
37 |
- name: install integration dependencies
|
|
38 |
run: |
|
|
39 |
sudo apt-get install docker-compose
|
|
40 |
sudo gem install bundler
|
|
41 |
bundle install
|
|
42 |
- name: maze tests - plain Go apps
|
|
43 |
env:
|
|
44 |
GO_VERSION: ${{ matrix.go-version }}
|
|
45 |
run: bundle exec bugsnag-maze-runner --color --format progress features/plain_features features/net_http_features
|
0 | 0 |
source 'https://rubygems.org'
|
1 | 1 |
|
2 | |
gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner'
|
|
2 |
gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'v1'
|
0 | |
GIT
|
1 | |
remote: https://github.com/bugsnag/maze-runner
|
2 | |
revision: 08a6f267d07ec7899d077ee7f7cfc669d866b1e3
|
3 | |
specs:
|
4 | |
bugsnag-maze-runner (1.0.0)
|
5 | |
cucumber (~> 3.1.0)
|
6 | |
cucumber-expressions (= 5.0.15)
|
7 | |
minitest (~> 5.0)
|
8 | |
os (~> 1.0.0)
|
9 | |
rack (~> 2.0.0)
|
10 | |
rake (~> 12.3.0)
|
11 | |
test-unit (~> 3.2.0)
|
12 | |
|
13 | |
GEM
|
14 | |
remote: https://rubygems.org/
|
15 | |
specs:
|
16 | |
backports (3.11.4)
|
17 | |
builder (3.2.3)
|
18 | |
cucumber (3.1.0)
|
19 | |
builder (>= 2.1.2)
|
20 | |
cucumber-core (~> 3.1.0)
|
21 | |
cucumber-expressions (~> 5.0.4)
|
22 | |
cucumber-wire (~> 0.0.1)
|
23 | |
diff-lcs (~> 1.3)
|
24 | |
gherkin (~> 5.0)
|
25 | |
multi_json (>= 1.7.5, < 2.0)
|
26 | |
multi_test (>= 0.1.2)
|
27 | |
cucumber-core (3.1.0)
|
28 | |
backports (>= 3.8.0)
|
29 | |
cucumber-tag_expressions (~> 1.1.0)
|
30 | |
gherkin (>= 5.0.0)
|
31 | |
cucumber-expressions (5.0.15)
|
32 | |
cucumber-tag_expressions (1.1.1)
|
33 | |
cucumber-wire (0.0.1)
|
34 | |
diff-lcs (1.3)
|
35 | |
gherkin (5.1.0)
|
36 | |
minitest (5.11.3)
|
37 | |
multi_json (1.13.1)
|
38 | |
multi_test (0.1.2)
|
39 | |
os (1.0.0)
|
40 | |
power_assert (1.1.3)
|
41 | |
rack (2.0.6)
|
42 | |
rake (12.3.1)
|
43 | |
test-unit (3.2.8)
|
44 | |
power_assert
|
45 | |
|
46 | |
PLATFORMS
|
47 | |
ruby
|
48 | |
|
49 | |
DEPENDENCIES
|
50 | |
bugsnag-maze-runner!
|
51 | |
|
52 | |
BUNDLED WITH
|
53 | |
1.17.1
|
9 | 9 |
COPY testbuild /app/src/github.com/bugsnag/bugsnag-go
|
10 | 10 |
WORKDIR /app/src/github.com/bugsnag/bugsnag-go
|
11 | 11 |
|
12 | |
RUN go get -v -d ./...
|
|
12 |
RUN go get . ./sessions ./headers ./errors
|
13 | 13 |
|
14 | 14 |
# Copy test scenarios
|
15 | 15 |
COPY ./app /app/src/test
|
9 | 9 |
COPY testbuild /app/src/github.com/bugsnag/bugsnag-go
|
10 | 10 |
WORKDIR /app/src/github.com/bugsnag/bugsnag-go
|
11 | 11 |
|
12 | |
RUN go get -v -d ./...
|
|
12 |
RUN go get -v -d . ./sessions ./headers ./errors
|
13 | 13 |
|
14 | 14 |
# Copy test scenarios
|
15 | 15 |
COPY ./net_http /app/src/test
|
0 | 0 |
require 'net/http'
|
1 | |
|
2 | |
When(/^I wait for the app to open port "(.*)"$/) do |port|
|
3 | |
wait_for_port(port)
|
4 | |
end
|
5 | 1 |
|
6 | 2 |
Then(/^the request(?: (\d+))? is a valid error report with api key "(.*)"$/) do |request_index, api_key|
|
7 | 3 |
request_index ||= 0
|