88 paths :
99 - " .github/workflows/rust.yml"
1010 - " rust/**"
11- - " include/**"
12- - " src/**"
1311
1412env :
1513 RUSTFLAGS : " -D warnings"
2422 os : [ubuntu-latest, macos-latest, windows-latest]
2523 steps :
2624 - uses : actions/checkout@v6
25+ - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
26+ - name : Set up Ruby
27+ uses : ruby/setup-ruby@v1
28+ with :
29+ ruby-version : ruby
30+ bundler : none
31+ - name : Update rubygems & bundler
32+ run : gem update --system
33+ - name : Install gems
34+ run : |
35+ bundle config set --local without libs:profilers
36+ bundle install --jobs 4 --retry 3
37+ - name : Set up vendored RBS source
38+ run : bundle exec rake rust:rbs:sync
2739 - name : Install Rust tools
2840 run : |
2941 rustup update --no-self-update stable
@@ -42,11 +54,109 @@ jobs:
4254 cd rust
4355 cargo test --verbose
4456
57+ publish-dry-run-ruby-rbs-sys :
58+ name : rust:publish:ruby-rbs-sys
59+ runs-on : ubuntu-latest
60+ continue-on-error : true
61+ steps :
62+ - uses : actions/checkout@v6
63+ - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
64+ - name : Set up git identity
65+ run : |
66+ git config user.name "GitHub Actions"
67+ git config user.email "actions@github.com"
68+ - name : Set up Ruby
69+ uses : ruby/setup-ruby@v1
70+ with :
71+ ruby-version : ruby
72+ bundler : none
73+ - name : Update rubygems & bundler
74+ run : gem update --system
75+ - name : Install gems
76+ run : |
77+ bundle config set --local without libs:profilers
78+ bundle install --jobs 4 --retry 3
79+ - name : Set up vendored RBS source
80+ run : bundle exec rake rust:rbs:sync
81+ - name : Install Rust tools
82+ run : |
83+ rustup update --no-self-update stable
84+ rustup default stable
85+ - uses : actions/cache@v5
86+ with :
87+ path : |
88+ ~/.cargo/registry
89+ ~/.cargo/git
90+ rust/target
91+ key : ${{ runner.os }}-cargo-${{ hashFiles('rust/Cargo.lock') }}
92+ restore-keys : |
93+ ${{ runner.os }}-cargo-
94+ - name : Test publish ruby-rbs-sys
95+ run : bundle exec rake rust:publish:ruby-rbs-sys
96+ env :
97+ RBS_RUST_PUBLISH_DRY_RUN : " 1"
98+
99+ publish-dry-run-ruby-rbs :
100+ name : rust:publish:ruby-rbs
101+ runs-on : ubuntu-latest
102+ continue-on-error : true
103+ steps :
104+ - uses : actions/checkout@v6
105+ - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
106+ - name : Set up git identity
107+ run : |
108+ git config user.name "GitHub Actions"
109+ git config user.email "actions@github.com"
110+ - name : Set up Ruby
111+ uses : ruby/setup-ruby@v1
112+ with :
113+ ruby-version : ruby
114+ bundler : none
115+ - name : Update rubygems & bundler
116+ run : gem update --system
117+ - name : Install gems
118+ run : |
119+ bundle config set --local without libs:profilers
120+ bundle install --jobs 4 --retry 3
121+ - name : Set up vendored RBS source
122+ run : bundle exec rake rust:rbs:sync
123+ - name : Install Rust tools
124+ run : |
125+ rustup update --no-self-update stable
126+ rustup default stable
127+ - uses : actions/cache@v5
128+ with :
129+ path : |
130+ ~/.cargo/registry
131+ ~/.cargo/git
132+ rust/target
133+ key : ${{ runner.os }}-cargo-${{ hashFiles('rust/Cargo.lock') }}
134+ restore-keys : |
135+ ${{ runner.os }}-cargo-
136+ - name : Test publish ruby-rbs
137+ run : bundle exec rake rust:publish:ruby-rbs
138+ env :
139+ RBS_RUST_PUBLISH_DRY_RUN : " 1"
140+
45141 lint :
46142 name : cargo:lint
47143 runs-on : ubuntu-latest
48144 steps :
49145 - uses : actions/checkout@v6
146+ - run : git fetch --depth=1 origin +refs/tags/*:refs/tags/*
147+ - name : Set up Ruby
148+ uses : ruby/setup-ruby@v1
149+ with :
150+ ruby-version : ruby
151+ bundler : none
152+ - name : Update rubygems & bundler
153+ run : gem update --system
154+ - name : Install gems
155+ run : |
156+ bundle config set --local without libs:profilers
157+ bundle install --jobs 4 --retry 3
158+ - name : Set up vendored RBS source
159+ run : bundle exec rake rust:rbs:sync
50160 - name : Install Rust tools
51161 run : |
52162 rustup update --no-self-update stable
0 commit comments