Merge pull request #11624 from Homebrew/tweak_buildpulse
Fix BuildPulse handling
This commit is contained in:
commit
0cd08fefd0
11
.github/workflows/tests.yml
vendored
11
.github/workflows/tests.yml
vendored
@ -333,14 +333,3 @@ jobs:
|
|||||||
- run: brew test-bot --only-formulae --test-default-formula
|
- run: brew test-bot --only-formulae --test-default-formula
|
||||||
|
|
||||||
- uses: codecov/codecov-action@29386c70ef20e286228c72b668a06fd0e8399192
|
- uses: codecov/codecov-action@29386c70ef20e286228c72b668a06fd0e8399192
|
||||||
|
|
||||||
- name: Upload test results to BuildPulse for flaky test detection
|
|
||||||
# Only run this step for non-PR pushes or PRs where where we have access to secrets.
|
|
||||||
# Run this step even when the tests fail. Skip if the workflow is cancelled.
|
|
||||||
if: (github.event.pull_request == null || github.event.pull_request.head.repo.full_name == github.repository) && !cancelled()
|
|
||||||
env:
|
|
||||||
BUILDPULSE_ACCESS_KEY_ID: ${{ secrets.BUILDPULSE_ACCESS_KEY_ID }}
|
|
||||||
BUILDPULSE_SECRET_ACCESS_KEY: ${{ secrets.BUILDPULSE_SECRET_ACCESS_KEY }}
|
|
||||||
run: |
|
|
||||||
brew install buildpulse-test-reporter
|
|
||||||
buildpulse-test-reporter submit Library/Homebrew/test/junit --account-id 1503512 --repository-id 53238813
|
|
||||||
|
|||||||
@ -50,14 +50,18 @@ module Homebrew
|
|||||||
|
|
||||||
unless Formula["buildpulse-test-reporter"].any_version_installed?
|
unless Formula["buildpulse-test-reporter"].any_version_installed?
|
||||||
ohai "Installing `buildpulse-test-reporter` for reporting test flakiness..."
|
ohai "Installing `buildpulse-test-reporter` for reporting test flakiness..."
|
||||||
safe_system HOMEBREW_BREW_FILE, "install", "buildpulse-test-reporter"
|
with_env(HOMEBREW_NO_AUTO_UPDATE: "1", HOMEBREW_NO_BOOTSNAP: "1") do
|
||||||
|
safe_system HOMEBREW_BREW_FILE, "install", "buildpulse-test-reporter"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ENV["BUILDPULSE_ACCESS_KEY_ID"] = ENV["HOMEBREW_BUILDPULSE_ACCESS_KEY_ID"]
|
ENV["BUILDPULSE_ACCESS_KEY_ID"] = ENV["HOMEBREW_BUILDPULSE_ACCESS_KEY_ID"]
|
||||||
ENV["BUILDPULSE_SECRET_ACCESS_KEY"] = ENV["HOMEBREW_BUILDPULSE_SECRET_ACCESS_KEY"]
|
ENV["BUILDPULSE_SECRET_ACCESS_KEY"] = ENV["HOMEBREW_BUILDPULSE_SECRET_ACCESS_KEY"]
|
||||||
|
|
||||||
|
ohai "Sending test results to BuildPulse"
|
||||||
|
|
||||||
safe_system Formula["buildpulse-test-reporter"].opt_bin/"buildpulse-test-reporter",
|
safe_system Formula["buildpulse-test-reporter"].opt_bin/"buildpulse-test-reporter",
|
||||||
"submit", "Library/Homebrew/test/junit",
|
"submit", "#{HOMEBREW_LIBRARY_PATH}/test/junit",
|
||||||
"--account-id", ENV["HOMEBREW_BUILDPULSE_ACCOUNT_ID"],
|
"--account-id", ENV["HOMEBREW_BUILDPULSE_ACCOUNT_ID"],
|
||||||
"--repository-id", ENV["HOMEBREW_BUILDPULSE_REPOSITORY_ID"]
|
"--repository-id", ENV["HOMEBREW_BUILDPULSE_REPOSITORY_ID"]
|
||||||
end
|
end
|
||||||
@ -182,7 +186,10 @@ module Homebrew
|
|||||||
|
|
||||||
# Submit test flakiness information using BuildPulse
|
# Submit test flakiness information using BuildPulse
|
||||||
# BUILDPULSE used in spec_helper.rb
|
# BUILDPULSE used in spec_helper.rb
|
||||||
ENV["BUILDPULSE"] = "1" if use_buildpulse?
|
if use_buildpulse?
|
||||||
|
ENV["BUILDPULSE"] = "1"
|
||||||
|
ohai "Running tests with BuildPulse-friendly settings"
|
||||||
|
end
|
||||||
|
|
||||||
if parallel
|
if parallel
|
||||||
system "bundle", "exec", "parallel_rspec", *parallel_args, "--", *bundle_args, "--", *files
|
system "bundle", "exec", "parallel_rspec", *parallel_args, "--", *bundle_args, "--", *files
|
||||||
|
|||||||
@ -14,8 +14,11 @@ describe Repology do
|
|||||||
it "returns a hash for existing package" do
|
it "returns a hash for existing package" do
|
||||||
response = described_class.single_package_query("openclonk", repository: "homebrew")
|
response = described_class.single_package_query("openclonk", repository: "homebrew")
|
||||||
|
|
||||||
expect(response).not_to be_nil
|
expect(response).to be_nil
|
||||||
expect(response).to be_a(Hash)
|
# TODO: uncomment (and remove line above) when we have a fix for Repology
|
||||||
|
# `curl` issues
|
||||||
|
# expect(response).not_to be_nil
|
||||||
|
# expect(response).to be_a(Hash)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -15,26 +15,30 @@ module Repology
|
|||||||
MAX_PAGINATION = 15
|
MAX_PAGINATION = 15
|
||||||
private_constant :MAX_PAGINATION
|
private_constant :MAX_PAGINATION
|
||||||
|
|
||||||
def query_api(last_package_in_response = "", repository:)
|
def query_api(_last_package_in_response = "", repository:)
|
||||||
last_package_in_response += "/" if last_package_in_response.present?
|
{}
|
||||||
url = "https://repology.org/api/v1/projects/#{last_package_in_response}?inrepo=#{repository}&outdated=1"
|
# TODO: uncomment (and remove lines above) when we have a fix for Repology
|
||||||
|
# `curl` issues
|
||||||
|
# last_package_in_response += "/" if last_package_in_response.present?
|
||||||
|
# url = "https://repology.org/api/v1/projects/#{last_package_in_response}?inrepo=#{repository}&outdated=1"
|
||||||
|
|
||||||
output, _errors, _status = curl_output(url.to_s)
|
# output, _errors, _status = curl_output(url.to_s)
|
||||||
JSON.parse(output)
|
# JSON.parse(output)
|
||||||
end
|
end
|
||||||
|
|
||||||
def single_package_query(name, repository:)
|
def single_package_query(name, repository:)
|
||||||
url = "https://repology.org/tools/project-by?repo=#{repository}&" \
|
# TODO: uncomment when we have a fix for Repology `curl` issues
|
||||||
"name_type=srcname&target_page=api_v1_project&name=#{name}"
|
# url = "https://repology.org/tools/project-by?repo=#{repository}&" \
|
||||||
|
# "name_type=srcname&target_page=api_v1_project&name=#{name}"
|
||||||
|
|
||||||
output, _errors, _status = curl_output("--location", url.to_s)
|
# output, _errors, _status = curl_output("--location", url.to_s)
|
||||||
|
|
||||||
begin
|
# begin
|
||||||
data = JSON.parse(output)
|
# data = JSON.parse(output)
|
||||||
{ name => data }
|
# { name => data }
|
||||||
rescue
|
# rescue
|
||||||
nil
|
# nil
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_api_response(limit = nil, repository:)
|
def parse_api_response(limit = nil, repository:)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user