Skip to content

Commit 7a04501

Browse files
authored
Add Rust toolchain setup to push-check workflow (#1245)
should fix build failures on main
1 parent 7b0486f commit 7a04501

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

.github/workflows/push-check.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,49 @@ jobs:
8989
- name: Checkout
9090
uses: actions/checkout@v4
9191

92+
- name: Checkout Python Environment Tools
93+
uses: actions/checkout@v4
94+
with:
95+
repository: 'microsoft/python-environment-tools'
96+
path: 'python-env-tools-src'
97+
sparse-checkout: |
98+
crates
99+
Cargo.toml
100+
Cargo.lock
101+
sparse-checkout-cone-mode: false
102+
103+
- name: Install Rust Toolchain
104+
uses: dtolnay/rust-toolchain@stable
105+
106+
- name: Cache Rust build
107+
uses: actions/cache@v4
108+
with:
109+
path: |
110+
~/.cargo/registry
111+
~/.cargo/git
112+
python-env-tools-src/target
113+
key: ${{ runner.os }}-cargo-pet-${{ hashFiles('python-env-tools-src/Cargo.lock') }}
114+
restore-keys: |
115+
${{ runner.os }}-cargo-pet-
116+
117+
- name: Build Python Environment Tools
118+
run: cargo build --release --package pet
119+
working-directory: python-env-tools-src
120+
121+
- name: Copy pet binary (Unix)
122+
if: runner.os != 'Windows'
123+
run: |
124+
mkdir -p python-env-tools/bin
125+
cp python-env-tools-src/target/release/pet python-env-tools/bin/
126+
chmod +x python-env-tools/bin/pet
127+
128+
- name: Copy pet binary (Windows)
129+
if: runner.os == 'Windows'
130+
run: |
131+
mkdir -p python-env-tools/bin
132+
cp python-env-tools-src/target/release/pet.exe python-env-tools/bin/
133+
shell: bash
134+
92135
- name: Install Node
93136
uses: actions/setup-node@v4
94137
with:
@@ -139,6 +182,49 @@ jobs:
139182
- name: Checkout
140183
uses: actions/checkout@v4
141184

185+
- name: Checkout Python Environment Tools
186+
uses: actions/checkout@v4
187+
with:
188+
repository: 'microsoft/python-environment-tools'
189+
path: 'python-env-tools-src'
190+
sparse-checkout: |
191+
crates
192+
Cargo.toml
193+
Cargo.lock
194+
sparse-checkout-cone-mode: false
195+
196+
- name: Install Rust Toolchain
197+
uses: dtolnay/rust-toolchain@stable
198+
199+
- name: Cache Rust build
200+
uses: actions/cache@v4
201+
with:
202+
path: |
203+
~/.cargo/registry
204+
~/.cargo/git
205+
python-env-tools-src/target
206+
key: ${{ runner.os }}-cargo-pet-${{ hashFiles('python-env-tools-src/Cargo.lock') }}
207+
restore-keys: |
208+
${{ runner.os }}-cargo-pet-
209+
210+
- name: Build Python Environment Tools
211+
run: cargo build --release --package pet
212+
working-directory: python-env-tools-src
213+
214+
- name: Copy pet binary (Unix)
215+
if: runner.os != 'Windows'
216+
run: |
217+
mkdir -p python-env-tools/bin
218+
cp python-env-tools-src/target/release/pet python-env-tools/bin/
219+
chmod +x python-env-tools/bin/pet
220+
221+
- name: Copy pet binary (Windows)
222+
if: runner.os == 'Windows'
223+
run: |
224+
mkdir -p python-env-tools/bin
225+
cp python-env-tools-src/target/release/pet.exe python-env-tools/bin/
226+
shell: bash
227+
142228
- name: Install Node
143229
uses: actions/setup-node@v4
144230
with:
@@ -189,6 +275,49 @@ jobs:
189275
- name: Checkout
190276
uses: actions/checkout@v4
191277

278+
- name: Checkout Python Environment Tools
279+
uses: actions/checkout@v4
280+
with:
281+
repository: 'microsoft/python-environment-tools'
282+
path: 'python-env-tools-src'
283+
sparse-checkout: |
284+
crates
285+
Cargo.toml
286+
Cargo.lock
287+
sparse-checkout-cone-mode: false
288+
289+
- name: Install Rust Toolchain
290+
uses: dtolnay/rust-toolchain@stable
291+
292+
- name: Cache Rust build
293+
uses: actions/cache@v4
294+
with:
295+
path: |
296+
~/.cargo/registry
297+
~/.cargo/git
298+
python-env-tools-src/target
299+
key: ${{ runner.os }}-cargo-pet-${{ hashFiles('python-env-tools-src/Cargo.lock') }}
300+
restore-keys: |
301+
${{ runner.os }}-cargo-pet-
302+
303+
- name: Build Python Environment Tools
304+
run: cargo build --release --package pet
305+
working-directory: python-env-tools-src
306+
307+
- name: Copy pet binary (Unix)
308+
if: runner.os != 'Windows'
309+
run: |
310+
mkdir -p python-env-tools/bin
311+
cp python-env-tools-src/target/release/pet python-env-tools/bin/
312+
chmod +x python-env-tools/bin/pet
313+
314+
- name: Copy pet binary (Windows)
315+
if: runner.os == 'Windows'
316+
run: |
317+
mkdir -p python-env-tools/bin
318+
cp python-env-tools-src/target/release/pet.exe python-env-tools/bin/
319+
shell: bash
320+
192321
- name: Install Node
193322
uses: actions/setup-node@v4
194323
with:

0 commit comments

Comments
 (0)