127 Commits

Author SHA1 Message Date
apainintheneck
39c6f7d6fb Stop including *flight block source in cask API
Originally we were going to try and load the *flight blocks from the API
but we ended up going with downloading the caskfile for the subset of
casks that need this functionality for consisty's sake.

This reverts the following commits from most recent to oldest:
- ffc74a51fb32b66a4cd8bc41dbd076dd23d9100e
- e5616e94fe42505434c330be35eeafef2739944f
- d1490c3d5c087d00f2bca1787cce331202b195c5
- 7ca5a5d9a71a73f21bbb8555a38048f027bee89b
- 2d5d132713d0701d02d5ff33e9918812d13d2a83

It also changes how *flight blocks are handled in `.to_h`.
Essentially, when *flight blocks exist they are just included
as a hash of the artifact to nil to indicate that they exist.

More information isn't necessary since we don't evaluate
the current source code in the *flight artifacts that
we get from the API.
2023-02-13 21:22:18 -08:00
Rylan Polster
e5616e94fe
Vendor method_source gem 2023-01-03 23:27:31 -05:00
apainintheneck
d318c56013 Add integration tests for profiler 2022-12-30 19:37:32 -08:00
Sean Molenaar
72b3348fb1
feature: generate macOS pkg files 2022-12-19 21:26:24 +01:00
Bo Anderson
796bad98ff
Allow gem installation on Rubies other than 2.6 2022-11-05 15:23:19 +00:00
Mike McQuaid
dd39b2be64
Add VSCode devcontainers
Should be useful for getting a development environment setup quickly.
2022-10-27 09:18:49 +01:00
Bo Anderson
e4264c9f35
Replace sorbet-runtime-stub with sorbet-runtime 2022-07-19 23:43:14 +01:00
Sam Ford
e34cb92d13
Vendor public_suffix data dir
The `addressable` gem depends on the `public_suffix` gem but we also
need to vendor the `data` dir from `public_suffix` for `addressable`
to function correctly.
2022-05-18 20:40:42 -04:00
Sam Ford
d0961a4e3e
Add addressable to vendored gems 2022-05-18 18:48:16 -04:00
Mike McQuaid
15541f082c
docs: remove Gemfile.lock.
We don't use this for anything and approving the dependabot PRs is a bit
of a waste of time.
2022-03-31 12:03:27 +01:00
XuehaiPan
d78c11361a .shellcheckrc: disable unneeded check SC2310-SC2312 globally 2021-11-08 23:50:54 +08:00
Bo Anderson
106bd64e30
Don't vendor YARD 2021-10-23 01:27:13 +01:00
Bo Anderson
1537e2eccd
Ignore new dependencies 2021-09-17 19:18:39 +01:00
Misty De Meo
04c8e896a5
edit: enable Sublime Text project view 2021-08-01 15:36:48 -07:00
Jason Rudolph
e163eb8650
Enhance test suite to emit JUnit XML test reports
In preparation for detecting flaky tests with BuildPulse, this commit
sets up the rspec_junit_formatter gem to output JUnit XML reports of the
test suite, which is the format used by BuildPulse and various other
tooling that interprets test results.

Because the test suite uses the parallel_tests gem, this commit
incorporates some related changes to make all the parallel_tests gem and
the rspec_junit_formatter gem to cooperate with each other.

rspec_junit_formatter writes everything to a single XML file. That works
fine when there's only one process writing to the file. By default,
whatever process finishes last will write to the file and clobber the
output of all the other processes that wrote to the file. 🙈

To prevent this issue, the parallel_tests wiki recommends adding a
`.rspec_parallel` file to specify its RSpec options
(https://github.com/grosser/parallel_tests/wiki#with-rspec_junit_formatter----by-jgarber),
then the project can specify different files for each process to write
to like so:

  --format RspecJunitFormatter
  --out tmp/rspec<%= ENV['TEST_ENV_NUMBER'] %>.xml

However, prior to this commit, the Homebrew/brew test suite specified
its RSpec options via the command line. Unfortunately though, there's no
way (AFAICT) to set the equivalent of these options via the command
line:

  --format RspecJunitFormatter
  --out tmp/rspec<%= ENV['TEST_ENV_NUMBER'] %>.xml

So, we need to use a `.rspec_parallel` file to specify these options ☝️.

However, it appears that RSpec allows you to specify formatters _either_
in an options file (like `.rspec_parallel`) _or_ via command-line args.
But if you specify any formatters via command-line args, then all
formatters in the options file are ignored.  (I suspect that's somehow
related to this bit of code in rspec-core:
https://github.com/rspec/rspec-core/blob/v3.10.0/lib/rspec/core/configuration_options.rb#L64.)

With that in mind, in order to have the RspecJunitFormatter configured
 in `.rspec_parallel`, we need to move the other formatters into
 `.rpsec_parallel` as well, instead of passing them as command-line
 args. Therefore, this commit moves all the formatters into a
 `.rspec_parallel` file.
2021-06-21 13:14:18 -04:00
Markus Reiter
0e71efb131
Merge pull request #10969 from reitermarkus/yard
Move YARD config into `Library/Homebrew`.
2021-04-02 23:48:55 +02:00
Markus Reiter
7ada548868
Move YARD config into Library/Homebrew. 2021-04-02 23:21:03 +02:00
Mike McQuaid
bd4c37bfda
Merge pull request #10514 from thomasrockhu/codecov-action
Add Codecov GitHub Action step
2021-04-02 20:02:51 +01:00
Mike McQuaid
5f31ebd8d4
github_packages: use json_schemer gem.
Instead of the deprecated json-schema.
2021-03-29 14:48:58 +01:00
Mike McQuaid
169a1bae13
github_packages: various improvements.
- validate all JSON files against their JSON schemas
- remove existing/lingering JSON files
- improve naming based on schema understanding
- add more (empty) annotations hashes where valid
- output prettier JSON
- fix non-SHA256 output filenames
2021-03-25 10:29:26 +00:00
Mike McQuaid
1b2dab5efa
Remove more codecov gem references. 2021-02-04 09:06:52 +00:00
Mike McQuaid
683ae7ff53
Add HOMEBREW_BOOTSNAP to optionally use Bootsnap
> Bootsnap is a library that plugs into Ruby, with optional support
> for ActiveSupport and YAML, to optimize and cache expensive
> computations.
https://github.com/Shopify/bootsnap

For our case that translates to "repeated calls to `brew` have
reductions in the time spend `require`ing speeding up the process
boot time".

For example:

```
$ hyperfine --warmup=2 "unset HOMEBREW_BOOTSNAP; brew info wget" "export HOMEBREW_BOOTSNAP=1; brew info wget"
Benchmark #1: unset HOMEBREW_BOOTSNAP; brew info wget
  Time (mean ± σ):      2.417 s ±  0.032 s    [User: 659.0 ms, System: 855.5 ms]
  Range (min … max):    2.382 s …  2.464 s    10 runs

Benchmark #2: export HOMEBREW_BOOTSNAP=1; brew info wget
  Time (mean ± σ):      1.862 s ±  0.064 s    [User: 425.3 ms, System: 566.8 ms]
  Range (min … max):    1.736 s …  1.952 s    10 runs

Summary
  'export HOMEBREW_BOOTSNAP=1; brew info wget' ran
    1.30 ± 0.05 times faster than 'unset HOMEBREW_BOOTSNAP; brew info wget'
```
2021-01-21 12:34:04 +00:00
Rylan Polster
b39c0f71f3
vscode: add configuration 2021-01-07 13:27:18 +00:00
Markus Reiter
da86bb50c9 Ignore racc gem. 2021-01-06 06:25:06 +01:00
Mike McQuaid
8528eff604
Add and enable rubocop-rails.
This will help us catch and cleanup usage of e.g. `.blank?` and other
helpers we use from ActiveSupport.
2020-12-02 10:43:04 +00:00
Markus Reiter
ae8ebf9464 Add rspec-sorbet. 2020-11-19 16:14:22 +01:00
Markus Reiter
aa6a8e5c13 Add --update option to brew vendor-gems. 2020-11-19 10:11:19 +01:00
Jonathan Chang
a2079e67d3 gitignore: update for rubocop 1.0 2020-11-10 23:28:31 +11:00
Markus Reiter
772a45e758 Vendor sorbet-runtime-stub. 2020-10-09 16:45:13 +02:00
Markus Reiter
f27d7a21d7 Vendor rubocop-sorbet. 2020-10-09 16:45:13 +02:00
Jonathan Chang
cc1d0842bc gitignore: add strscan 2020-09-29 01:52:11 +10:00
nandahkrishna
cf293d0ef5
livecheck: progress bar for JSON output
Co-authored-by: Sam Ford <1584702+samford@users.noreply.github.com>
Co-authored-by: Dustin Rodrigues <dust.rod@gmail.com>
2020-09-18 02:40:51 +05:30
Mike McQuaid
6f311852d6 Fix unvendored RubyGems
- Avoid caching RubyGems in GitHub Actions `tests.yml` to catch this in
  future.
- Run `brew doctor` in GitHub Actions `tests.yml` after installing
  RubyGems to catch this in future.
- Ignore relevant RubyGems (and fix outdated comments)
- Never auto-`require` RubyGems that aren't vendored.
- Update `bundler/setup.rb`.
2020-08-27 14:03:03 +01:00
Mike McQuaid
a4d0174d7b
prof: improve brew prof functionality.
- Add `--stackprof` to allow using stackprof
- Use the latest version of `ruby-prof`
- Automatically open the generated HTML output
2020-08-20 13:01:58 +01:00
Mike McQuaid
845d3a2f20
Merge pull request #8309 from Bo98/rexml
vendor/bundle/ruby: unvendor REXML
2020-08-12 10:53:34 +01:00
Bo Anderson
46433de1ca .gitignore: correct mechanize ignore matching 2020-08-11 19:42:54 +01:00
Bo Anderson
d6c389f4df vendor/bundle/ruby: unvendor REXML 2020-08-11 19:13:45 +01:00
Mike McQuaid
763bf6f699
Use vendored patchelf.rb. 2020-08-11 08:41:31 +01:00
vidusheeamoli
17d0a46afd .gitignore: add sorbet and tapioca dependencies 2020-08-01 00:53:51 +05:30
Mike McQuaid
5168e14796
.gitignore: update codecov dependencies. 2020-07-08 11:50:21 +01:00
vidusheeamoli
59abfed56d srb/tapioca: update rbi of recently bumped gems 2020-07-03 11:52:15 +05:30
Mike McQuaid
170b38892a
Use CodeCov for coverage reporting. 2020-07-02 10:22:54 +01:00
rmnull
486114282c
In ELFShim, #needed_libraries, #dynamic_elf? and #with_interpreter? check using patchelf gem.
Having HOMEBREW_PATCHELF_RB set in the ENV,
will conditionally install patchelf.rb gem,
use patchelf.rb in the above mentioned methods.
The installed vendored gems are listed in .gitignore
to maintain a clean state.
2020-06-19 21:23:57 +05:30
vidusheeamoli
5b877cdd96 gitignore: add sorbet/errors.txt 2020-06-17 22:19:54 +05:30
vidusheeamoli
73d2c98689 Gemfile: add tapioca gem 2020-06-14 02:01:10 +05:30
vidusheeamoli
536726799d Gemfile: add sorbet and sorbet-runtime
bundler/setup: add sorbet and sorbet-runtime
2020-06-11 11:41:53 +05:30
Mike McQuaid
ed9cd2d296
gitignore: ignore regexp_parser. 2020-06-02 09:49:01 +01:00
Mike McQuaid
223762915f
gitignore: don't vendor rubocop-ast. 2020-05-21 10:14:57 +01:00
vidusheeamoli
afb29035bd update gitignore 2020-05-18 23:49:44 +05:30
vidusheeamoli
4f1e9f44a1 set up byebug debugger 2020-05-18 16:28:43 +05:30