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,12 +54,30 @@ jobs:
4254 cd rust
4355 cargo test --verbose
4456
45- publish-dry-run :
46- name : cargo :publish-dry-run
57+ publish-dry-run-ruby-rbs-sys :
58+ name : rust :publish:ruby-rbs-sys
4759 runs-on : ubuntu-latest
4860 continue-on-error : true
4961 steps :
5062 - 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
5181 - name : Install Rust tools
5282 run : |
5383 rustup update --no-self-update stable
@@ -61,16 +91,72 @@ jobs:
6191 key : ${{ runner.os }}-cargo-${{ hashFiles('rust/Cargo.lock') }}
6292 restore-keys : |
6393 ${{ runner.os }}-cargo-
64- - name : Test publish crates
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
65107 run : |
66- cd rust
67- cargo publish --dry-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"
68140
69141 lint :
70142 name : cargo:lint
71143 runs-on : ubuntu-latest
72144 steps :
73145 - 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
74160 - name : Install Rust tools
75161 run : |
76162 rustup update --no-self-update stable
0 commit comments