If these jobs have the same name, GitHub allows merging a pull request
as soon as one of these jobs finishes.
We want to wait for all these jobs, so we have to use different names.
Since we don't skip this result job on [DOC], it's okay to use a
templated variable for this name.
We've been using matrix jobs as required status checks. However, when
[DOC] pull requests are created, the matrix content and templated
variables are not executed, which results in changing the name of the
matrix jobs. Then required status checks are considered missing because
of the different names. So we can't merge [DOC] PRs right now.
This `result` is a known technique to check the composite status of
matrix jobs. https://github.com/orgs/community/discussions/26822
The `result` job is not only a non-matrix job, which doesn't have the
above problem, but also an independent job that is not skipped by [DOC].
`needs` works even if all dependent jobs are skipped, so this trick
works well.
This is also useful when we want to change the content of matrix. When
we change one, we usually have to update branches of old pull requests
so that they get newly required jobs. However, with this method, only
`result` jobs are required, so you don't need to update old pull
requests.
I still don't like the fact that now you cannot visualize which matrix
jobs are "Required", but this seems like the best compromise.
ubuntu.yml had that style because it needed a default value for configure.
For macos.yml, since `os` and `configure` always vary, there's no need
to declare them that way.
I don't think we need to test the same OS twice or the same
configuration twice. This is similar to .github/workflows/ubuntu.yml.
I also tweaked the label of Slack notifications.
Since GitHub has no real ternary [operator], the second expression
must be "truthy" value instead of an empty string which is evaluated
as `0`.
- Some bundler tests seem trying to install old Rack where
`Rack::Utils.byte_ranges` method has been deprecated once.
- Racc tests do not seem aware about warnings very well.
[operator]: https://docs.github.com/actions/learn-github-actions/expressions#operators
For some reason, it's been failing only on YJIT, but apparently it's
reproducible on the interpreter as well. So it's not related to YJIT.
rbs marked rbs tests on Ruby master as allow_failures
https://github.com/ruby/rbs/pull/1536, so it's known to not work on Ruby
master.
We should revert this once we fix the flaky test failure on Ruby master.
Autoconf 2.71's `AC_PROG_CC` nukes `CC` variable, which we don't
want. For instance a user could specify `--with-gcc="gcc -std=c99"`
to _force_ C99 mode; but `AC_PROG_CC` just nulifies that `-std=c99`
part.
`AC_PROG_CC` is called everywhere from inside of autoconf itself via
`AC_REQUIRE([AC_PROG_CC])`. It is not a wise idea to try avoiding
this macro at all. We need to reroute `-std=` flags to somewhere
else.
This reverts commit e6e23b92e3.
It seems like it wasn't added for ruby/ruby.
We could fix tool/sync_default_gems.rb to deal with this, but we have a
pull request that changes that part now, so let me only revert this for
now and revisit this after merging that pull request.
Still need to add more tests
Update Cargo.toml; add README
Switch yp_string_t_type variants to SNAKE_CASE
Add unescape tests
Add encoding callback tests
Add pack_parse test
Add diagnostic test
Add comment test
Add node tests
Add string_list tests
Add other string tests
Add shared string test
Add list tests
Fixes for updated branch
Run bundle install before running Rust tests
Fix version test
ci: Add proper config for rust-toolchain step for sanitizers
ci: Fix tests, clippy
Remove extra `bundle install`; run `bundle exec rake`
Didn't realize `setup-ruby`'s `bundle-cache: true` runs `bundle install`.
Remove `rake compile` from build.rs
This is complicating CI for me; maybe we add it back later.
Undo README formatting changes
Fix UB in C callbacks
Use slice+str instead of String for raw things
Move bindings to bindings module
Handle non-UTF-8 strings in paths
rust ci: test with sanitizers; add -D warnings
Update rust-bindings.yml
Update Cargo.toml
Don't need to compile extra crate_types
PR changes
Apply patch from @kddnewton
Delete unescape_tests.rs
Fix things after rebasing
https://github.com/ruby/yarp/commit/273790e40b