Skip to content

Commit 8696681

Browse files
committed
Merge branch 'main' into run-sorbet-in-ci
2 parents 58d10cb + 2f2dbe4 commit 8696681

File tree

1,618 files changed

+60230
-14724
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,618 files changed

+60230
-14724
lines changed

.clang-format-ignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
ext/herb/error_helpers.c
22
ext/herb/nodes.c
3+
src/analyze_missing_end.c
4+
src/analyze_transform.c
35
src/ast_nodes.c
46
src/ast_pretty_print.c
57
src/errors.c
68
src/include/ast_nodes.h
79
src/include/ast_pretty_print.h
810
src/include/errors.h
11+
src/parser_match_tags.c
912
src/visitor.c

.envrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ export PATH="$PWD/javascript/packages/printer/bin:$PATH"
33
export PATH="$PWD/javascript/packages/formatter/bin:$PATH"
44
export PATH="$PWD/javascript/packages/language-server/bin:$PATH"
55
export PATH="$PWD/javascript/packages/highlighter/bin:$PATH"
6+
export PATH="$PWD/javascript/packages/stimulus-lint/bin:$PATH"
7+
export PATH="$PWD/java/bin:$PATH"
8+
export PATH="$PWD/rust/bin:$PATH"

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Templates
22
templates/**/*.c.erb linguist-language=C
3+
templates/**/*.cpp.erb linguist-language=C++
34
templates/**/*.h.erb linguist-language=C
5+
templates/**/*.java.erb linguist-language=Java
6+
templates/**/*.js.erb linguist-language=JavaScript
47
templates/**/*.rb.erb linguist-language=Ruby
5-
templates/**/*.cpp.erb linguist-language=C++
8+
templates/**/*.rs.erb linguist-language=Rust
9+
templates/**/*.ts.erb linguist-language=TypeScript
610

711
# Template-generated RBS files
812
sig/**/*.rbs linguist-generated

.github/dependabot.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "bundler"
9+
directory: "/"
10+
schedule:
11+
interval: "weekly"
12+
13+
- package-ecosystem: "npm"
14+
directory: "/"
15+
schedule:
16+
interval: "weekly"
17+
18+
- package-ecosystem: "npm"
19+
directories:
20+
- "/javascript/packages/*"
21+
schedule:
22+
interval: "weekly"
23+
24+
- package-ecosystem: "cargo"
25+
directory: "/rust"
26+
schedule:
27+
interval: "weekly"

.github/labeler.yml

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# This file configures the GitHub Actions labeler to automatically apply labels to pull requests
2+
# based on the files that are modified.
3+
#
4+
# See: https://github.com/actions/labeler
5+
6+
c:
7+
- changed-files:
8+
- any-glob-to-any-file:
9+
- '**/*.c'
10+
- '**/*.h'
11+
- 'test/c/**/*'
12+
- 'templates/**/*.c.erb'
13+
- 'templates/**/*.h.erb'
14+
15+
cpp:
16+
- changed-files:
17+
- any-glob-to-any-file:
18+
- '**/*.cpp'
19+
- 'templates/**/*.cpp.erb'
20+
21+
rust:
22+
- changed-files:
23+
- any-glob-to-any-file:
24+
- '**/*.rs'
25+
- '**/*.rs.erb'
26+
- '**/Cargo.toml'
27+
- '**/Cargo.lock'
28+
29+
javascript:
30+
- changed-files:
31+
- any-glob-to-any-file:
32+
- 'javascript/**/*.js'
33+
- 'javascript/**/*.mjs'
34+
- 'javascript/**/*.cjs'
35+
- 'templates/javascript/**/*.js.erb'
36+
- 'templates/javascript/**/*.mjs.erb'
37+
- 'templates/javascript/**/*.cjs.erb'
38+
39+
typescript:
40+
- changed-files:
41+
- any-glob-to-any-file:
42+
- '**/javascript/**/*.ts'
43+
- '**/javascript/**/*.ts.erb'
44+
45+
java:
46+
- changed-files:
47+
- any-glob-to-any-file:
48+
- '**/*.java'
49+
- '**/*.java.erb'
50+
51+
ruby:
52+
- changed-files:
53+
- any-glob-to-any-file:
54+
- 'lib/**/*.rb'
55+
- 'ext/**/*.rb'
56+
57+
c-extension:
58+
- changed-files:
59+
- any-glob-to-any-file:
60+
- 'ext/**/*'
61+
62+
sorbet:
63+
- changed-files:
64+
- any-glob-to-any-file:
65+
- 'sorbet/**/*'
66+
67+
rbs:
68+
- changed-files:
69+
- any-glob-to-any-file:
70+
- 'sig/**/*.rbs'
71+
72+
parser:
73+
- changed-files:
74+
- any-glob-to-any-file:
75+
- 'src/parser.c'
76+
- 'src/parser_*.c'
77+
- 'src/include/parser.h'
78+
- 'src/include/parser_*.h'
79+
- 'test/parser/**/*'
80+
81+
lexer:
82+
- changed-files:
83+
- any-glob-to-any-file:
84+
- 'src/lexer.c'
85+
- 'src/lexer_*.c'
86+
- 'src/include/lexer.h'
87+
- 'src/include/lexer_*.h'
88+
- 'test/lexer/**/*'
89+
90+
engine:
91+
- changed-files:
92+
- any-glob-to-any-file:
93+
- 'lib/herb/engine/**/*'
94+
- 'test/engine/**/*'
95+
96+
browser:
97+
- changed-files:
98+
- any-glob-to-any-file:
99+
- '**/javascript/packages/browser/**/*'
100+
101+
node-wasm:
102+
- changed-files:
103+
- any-glob-to-any-file:
104+
- '**/javascript/packages/node-wasm/**/*'
105+
106+
formatter:
107+
- changed-files:
108+
- any-glob-to-any-file:
109+
- '**/javascript/packages/formatter/**/*'
110+
111+
linter:
112+
- changed-files:
113+
- any-glob-to-any-file:
114+
- '**/javascript/packages/linter/**/*'
115+
116+
linter-rule:
117+
- changed-files:
118+
- any-glob-to-any-file:
119+
- '**/javascript/packages/linter/src/rules/**/*'
120+
- '**/javascript/packages/linter/docs/rules/**/*'
121+
122+
linter-autofix:
123+
- changed-files:
124+
- any-glob-to-any-file:
125+
- '**/javascript/packages/linter/test/autofix/**/*'
126+
127+
language-server:
128+
- changed-files:
129+
- any-glob-to-any-file:
130+
- '**/javascript/packages/language-server/**/*'
131+
- '**/javascript/packages/herb-language-server/**/*'
132+
133+
language-service:
134+
- changed-files:
135+
- any-glob-to-any-file:
136+
- '**/javascript/packages/language-service/**/*'
137+
138+
printer:
139+
- changed-files:
140+
- any-glob-to-any-file:
141+
- '**/javascript/packages/printer/**/*'
142+
143+
highlighter:
144+
- changed-files:
145+
- any-glob-to-any-file:
146+
- '**/javascript/packages/highlighter/**/*'
147+
148+
node:
149+
- changed-files:
150+
- any-glob-to-any-file:
151+
- '**/javascript/packages/node/**/*'
152+
153+
stimulus-lint:
154+
- changed-files:
155+
- any-glob-to-any-file:
156+
- '**/javascript/packages/stimulus-lint/**/*'
157+
158+
vscode:
159+
- changed-files:
160+
- any-glob-to-any-file:
161+
- '**/javascript/packages/vscode/**/*'
162+
163+
dev-tools:
164+
- changed-files:
165+
- any-glob-to-any-file:
166+
- '**/javascript/packages/dev-tools/**/*'
167+
168+
config:
169+
- changed-files:
170+
- any-glob-to-any-file:
171+
- '**/javascript/packages/config/**/*'
172+
173+
tailwind-class-sorter:
174+
- changed-files:
175+
- any-glob-to-any-file:
176+
- '**/javascript/packages/tailwind-class-sorter/**/*'
177+
178+
minifier:
179+
- changed-files:
180+
- any-glob-to-any-file:
181+
- '**/javascript/packages/minifier/**/*'
182+
183+
rewriter:
184+
- changed-files:
185+
- any-glob-to-any-file:
186+
- '**/javascript/packages/rewriter/**/*'
187+
188+
core:
189+
- changed-files:
190+
- any-glob-to-any-file:
191+
- '**/javascript/packages/core/**/*'
192+
193+
wasm:
194+
- changed-files:
195+
- any-glob-to-any-file:
196+
- 'wasm/**/*'
197+
198+
playground:
199+
- changed-files:
200+
- any-glob-to-any-file:
201+
- 'playground/**/*'
202+
203+
rubygem:
204+
- changed-files:
205+
- any-glob-to-any-file:
206+
- 'herb.gemspec'
207+
- 'lib/**/*'
208+
209+
documentation:
210+
- changed-files:
211+
- any-glob-to-any-file:
212+
- '**/docs/**/*'

.github/workflows/build-gems.yml

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
- name: Add LLVM apt Repo
6565
run: |-
6666
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
67-
sudo add-apt-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-19 main"
67+
sudo add-apt-repository "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-21 main"
6868
sudo apt update
6969
7070
- name: Install APT dependencies
@@ -100,3 +100,68 @@ jobs:
100100
path: pkg/*.gem
101101
if-no-files-found: error
102102
retention-days: 7
103+
104+
push:
105+
name: Push gems with trusted publishing
106+
if: github.event_name == 'release' && github.repository_owner == 'marcoroth'
107+
needs: build
108+
timeout-minutes: 30
109+
runs-on: ubuntu-latest
110+
permissions:
111+
contents: write
112+
id-token: write
113+
strategy:
114+
fail-fast: false
115+
matrix:
116+
target:
117+
- default
118+
- aarch64-linux-gnu
119+
- x86_64-linux-gnu
120+
- x86_64-linux-musl
121+
- aarch64-linux-musl
122+
- x86_64-darwin
123+
- arm64-darwin
124+
- arm-linux-gnu
125+
- arm-linux-musl
126+
- x86-linux-gnu
127+
- x86-linux-musl
128+
steps:
129+
- uses: actions/checkout@v4
130+
with:
131+
fetch-depth: 0
132+
133+
# Vendor the attestation patch from rubygems/release-gem
134+
- name: Vendor release-gem patch
135+
uses: actions/checkout@v4
136+
with:
137+
repository: rubygems/release-gem
138+
ref: a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
139+
path: .github/_release-gem
140+
141+
- name: Setup Ruby
142+
uses: ruby/setup-ruby@v1
143+
with:
144+
ruby-version: '3.4'
145+
bundler-cache: false
146+
147+
- name: Download gem artifacts
148+
uses: actions/download-artifact@v4
149+
with:
150+
name: gem-${{ matrix.target }}
151+
path: pkg/
152+
153+
- name: Configure trusted publishing credentials
154+
uses: rubygems/configure-rubygems-credentials@v1.0.0
155+
156+
- name: Push gem with Sigstore attestation
157+
env:
158+
# Preload the attestation patch so `gem push` generates & attaches the bundle
159+
RUBYOPT: "-r${{ github.workspace }}/.github/_release-gem/rubygems-attestation-patch.rb"
160+
run: |
161+
cd pkg
162+
for gem_file in *.gem; do
163+
if [ -f "$gem_file" ]; then
164+
echo "Pushing $gem_file"
165+
gem push "$gem_file"
166+
fi
167+
done

0 commit comments

Comments
 (0)