Граф коммитов

784 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada cc5a916fa3
Check if any tools needed [ci skip]
Because of a trap of cmd.exe that `echo something > output` prints not
only "something" also the space before `>`, remove unexpected spaces.
2023-10-16 14:27:51 +09:00
Takashi Kokubun 985b0244da Revert an unneeded if on check_misc
nobu says he wants to run this on [DOC] commits as well.
2023-10-14 23:27:05 -07:00
Takashi Kokubun ddd5be9efa Use the same if: guard for all jobs 2023-10-14 22:33:40 -07:00
Takashi Kokubun 341d2ad95c Use unique names for result jobs
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.
2023-10-14 22:24:24 -07:00
Takashi Kokubun 222c4b8568 Add result job for required status checks
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.
2023-10-14 22:24:24 -07:00
Takashi Kokubun 28bd3a96b9 The needs != '' check is broken 2023-10-14 22:06:42 -07:00
Nobuyoshi Nakada 259747e1e6
Fix typo in steps references [ci skip] 2023-10-15 13:53:20 +09:00
Takashi Kokubun 16d14f425f Avoid using MATZBOT_GITHUB_TOKEN for pull requests 2023-10-13 20:53:23 -07:00
Takashi Kokubun 9d6ff9c175 Skip a duplicated checkout 2023-10-13 16:31:07 -07:00
Takashi Kokubun d7f8c1ee9d Just reorder the checkout 2023-10-13 16:19:32 -07:00
Takashi Kokubun 0950f22cc0 secrets cannot be templated in a shared action 2023-10-13 16:18:17 -07:00
Takashi Kokubun 5b08e9efd8 Use matzbot's token to push misc commits
to bypass status checks of branch protection
2023-10-13 15:21:54 -07:00
Takashi Kokubun 92bdc3757f Ignore the failures of CodeQL
It randomly fails like this:
https://github.com/ruby/ruby/actions/runs/6510372995/job/17683918027

and we don't want to pay for and use a larger runner for the job that
only generates false positives most of the time.
2023-10-13 09:40:44 -07:00
Nobuyoshi Nakada 511571b5ff
Only ruby/ruby repository runs on macos-arm-oss [ci skip] 2023-10-13 23:21:33 +09:00
Takashi Kokubun 842d9c0afc
Remove paths-ignore from required status checks (#8646) 2023-10-13 00:30:04 +00:00
Takashi Kokubun dcee3cc6ce Avoid duplicating a --repeat-count=2 job
--repeat-count=2 jobs are generally too slow for no good reason.
It doesn't seem related to testing the universal parser either.
2023-10-12 15:15:37 -07:00
Takashi Kokubun 0c42c28531
Test YJIT on macOS Arm64 GitHub Actions (#8633)
* cp macos.yml yjit-macos.yml

* Test YJIT on macOS Arm64 GitHub Actions

* Add a non-YJIT macOS Arm64 job as well
2023-10-12 10:03:47 -04:00
dependabot[bot] 096ee0648e Bump ruby/setup-ruby from 1.155.0 to 1.156.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.155.0 to 1.156.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](d37167af45...5cfe23c062)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 12:31:02 +09:00
Takashi Kokubun 70d583a7e0 Specify everything in matrix.include
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.
2023-10-11 16:05:16 -07:00
Takashi Kokubun eee1ea2a0e Add test_task in the matrix for better labels
They appear on GitHub and this looks nicer.
2023-10-11 15:56:17 -07:00
Takashi Kokubun 09a79d39d0 Fix the way to specify extra jobs 2023-10-11 15:55:01 -07:00
Takashi Kokubun eca1c2e717 Remove redundancy in macOS jobs
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.
2023-10-11 15:50:38 -07:00
dependabot[bot] a78acf18ac Bump ruby/setup-ruby from 1.154.0 to 1.155.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.154.0 to 1.155.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](52b8784594...d37167af45)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 12:23:35 +09:00
dependabot[bot] a149ca515d Bump ossf/scorecard-action from 2.2.0 to 2.3.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](08b4669551...483ef80eb9)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 12:16:38 +09:00
Nobuyoshi Nakada 2dee2662d8
Create dummy files in build dir in setup [ci skip] 2023-10-03 13:10:01 +09:00
Nobuyoshi Nakada 81c0d0e2fb
[CI] Fix conditional for `RUBYOPT`
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
2023-09-28 10:10:11 +09:00
Nobuyoshi Nakada aa6764e66d
[CI] Fix indentation to concatenate the lines and pass the options 2023-09-28 08:16:36 +09:00
dependabot[bot] 7816307b30 Bump actions/checkout from 4.0.0 to 4.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](3df4ab11eb...8ade135a41)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 12:42:39 +09:00
Takashi Kokubun 1da97292f8 Ignore rbs test failures
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.
2023-09-23 00:05:47 -07:00
Nobuyoshi Nakada a49d17a080
Slack notification cannot send from other than ruby/* [ci skip] 2023-09-21 15:21:57 +09:00
Takashi Kokubun 639971a080 --disable-jit-support no longer exists 2023-09-20 10:14:56 -07:00
dependabot[bot] 12934b58c7 Bump ruby/setup-ruby from 1.153.0 to 1.154.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.153.0 to 1.154.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](5311f05890...52b8784594)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-20 11:51:58 +09:00
dependabot[bot] 5a7f5bb0de Bump actions/checkout from 3.6.0 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](f43a0e5ff2...3df4ab11eb)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 17:05:23 +09:00
dependabot[bot] 74277f9998 Bump ruby/setup-ruby from 1.152.0 to 1.153.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.152.0 to 1.153.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](250fcd6a74...5311f05890)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 12:20:35 +09:00
Takashi Kokubun 07b615bb3b Skip renaming OpenSSL DLLs
to fix CI failures like:
https://github.com/ruby/ruby/actions/runs/6190995187/job/16808382442
2023-09-14 15:02:12 -07:00
Alan Wu f644996f2e For YJIT Actions, don't filter test-spec backtraces
I'm trying to debug a flaky `RuntimeError: nested #it` failure in
ruby/spec. Hopefully the full backtrace will give some clues.

Last occurence:
https://github.com/ruby/ruby/actions/runs/6172578817/job/16753137038
2023-09-13 19:42:51 -04:00
dependabot[bot] 15fd897629 Bump actions/cache from 3.3.1 to 3.3.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](88522ab9f3...704facf57e)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-08 12:26:50 +09:00
Nobuyoshi Nakada fa70e361e0
CodeQL: Increase memory size [ci skip]
Query evaluation ran out of Java heap frequently since CodeQL 2.14.3.
2023-08-31 14:06:35 +09:00
Takashi Kokubun 1edb03788d Stop using -v for rjit test-all
It outputs way too many lines. It's hard to download the output from
GitHub Actions.
2023-08-30 10:18:11 -07:00
卜部昌平 197e91f357 build matrix for universal parser 2023-08-25 17:27:53 +09:00
卜部昌平 fa2712981f workaround clang-17 -Wc2x-extensions
cf: 874217f99b
2023-08-25 17:27:53 +09:00
卜部昌平 b88bdf1ebb direct use of CFLAGS
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.
2023-08-25 17:27:53 +09:00
卜部昌平 eb57b6ba82 [CI]: LLVM 18 begun 2023-08-25 17:27:53 +09:00
Nobuyoshi Nakada 5b407450f5
Skip push by dependabot [ci skip]
Would be pull-requested soon.
2023-08-25 17:10:45 +09:00
dependabot[bot] 945e79c996 Bump actions/checkout from 3.5.3 to 3.6.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](c85c95e3d7...f43a0e5ff2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-25 12:08:51 +09:00
Nobuyoshi Nakada 554b370b72
Generate sources before checks 2023-08-24 21:12:51 +09:00
Takashi Kokubun efd611ceb6 Revert "[ruby/yarp] rust: Initial yarp-sys"
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.
2023-08-15 13:54:46 -07:00
Steve Loveless e6e23b92e3 [ruby/yarp] rust: Initial yarp-sys
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
2023-08-15 20:52:06 +00:00
Nobuyoshi Nakada b76c2ec005
Use `::` form workflow commands 2023-08-15 23:30:40 +09:00
Nobuyoshi Nakada 46c428a926
Make test-spec on Windows silent a little 2023-08-12 11:19:10 +09:00