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
|
||||
|
||||
- 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?
|
||||
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
|
||||
|
||||
ENV["BUILDPULSE_ACCESS_KEY_ID"] = ENV["HOMEBREW_BUILDPULSE_ACCESS_KEY_ID"]
|
||||
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",
|
||||
"submit", "Library/Homebrew/test/junit",
|
||||
"submit", "#{HOMEBREW_LIBRARY_PATH}/test/junit",
|
||||
"--account-id", ENV["HOMEBREW_BUILDPULSE_ACCOUNT_ID"],
|
||||
"--repository-id", ENV["HOMEBREW_BUILDPULSE_REPOSITORY_ID"]
|
||||
end
|
||||
@ -182,7 +186,10 @@ module Homebrew
|
||||
|
||||
# Submit test flakiness information using BuildPulse
|
||||
# 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
|
||||
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
|
||||
response = described_class.single_package_query("openclonk", repository: "homebrew")
|
||||
|
||||
expect(response).not_to be_nil
|
||||
expect(response).to be_a(Hash)
|
||||
expect(response).to be_nil
|
||||
# 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
|
||||
|
||||
|
||||
@ -15,26 +15,30 @@ module Repology
|
||||
MAX_PAGINATION = 15
|
||||
private_constant :MAX_PAGINATION
|
||||
|
||||
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"
|
||||
def query_api(_last_package_in_response = "", repository:)
|
||||
{}
|
||||
# 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)
|
||||
JSON.parse(output)
|
||||
# output, _errors, _status = curl_output(url.to_s)
|
||||
# JSON.parse(output)
|
||||
end
|
||||
|
||||
def single_package_query(name, repository:)
|
||||
url = "https://repology.org/tools/project-by?repo=#{repository}&" \
|
||||
"name_type=srcname&target_page=api_v1_project&name=#{name}"
|
||||
# TODO: uncomment when we have a fix for Repology `curl` issues
|
||||
# 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
|
||||
data = JSON.parse(output)
|
||||
{ name => data }
|
||||
rescue
|
||||
nil
|
||||
end
|
||||
# begin
|
||||
# data = JSON.parse(output)
|
||||
# { name => data }
|
||||
# rescue
|
||||
# nil
|
||||
# end
|
||||
end
|
||||
|
||||
def parse_api_response(limit = nil, repository:)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user