Skip to content

Commit 05d73dd

Browse files
authored
Merge pull request RustPython#4131 from coolreader18/fix-weekly-ci-lalrpop
Fix lalrpop python.rs for weekly ci
2 parents e9970ed + f7e58a3 commit 05d73dd

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

.github/workflows/cron-ci.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,15 @@ env:
1111
jobs:
1212
codecov:
1313
name: Collect code coverage data
14+
needs: lalrpop
1415
runs-on: ubuntu-latest
1516
steps:
1617
- uses: actions/checkout@v2
18+
- name: Cache generated parser
19+
uses: actions/cache@v2
20+
with:
21+
path: compiler/parser/python.rs
22+
key: lalrpop-${{ hashFiles('compiler/parser/python.lalrpop') }}
1723
- uses: dtolnay/rust-toolchain@stable
1824
with:
1925
components: llvm-tools-preview
@@ -49,9 +55,15 @@ jobs:
4955

5056
testdata:
5157
name: Collect regression test data
58+
needs: lalrpop
5259
runs-on: ubuntu-latest
5360
steps:
5461
- uses: actions/checkout@v2
62+
- name: Cache generated parser
63+
uses: actions/cache@v2
64+
with:
65+
path: compiler/parser/python.rs
66+
key: lalrpop-${{ hashFiles('compiler/parser/python.lalrpop') }}
5567
- uses: dtolnay/rust-toolchain@stable
5668
- name: build rustpython
5769
run: cargo build --release --verbose
@@ -77,9 +89,15 @@ jobs:
7789
7890
whatsleft:
7991
name: Collect what is left data
92+
needs: lalrpop
8093
runs-on: ubuntu-latest
8194
steps:
8295
- uses: actions/checkout@v2
96+
- name: Cache generated parser
97+
uses: actions/cache@v2
98+
with:
99+
path: compiler/parser/python.rs
100+
key: lalrpop-${{ hashFiles('compiler/parser/python.lalrpop') }}
83101
- uses: dtolnay/rust-toolchain@stable
84102
- name: build rustpython
85103
run: cargo build --release --verbose
@@ -108,9 +126,15 @@ jobs:
108126
109127
benchmark:
110128
name: Collect benchmark data
129+
needs: lalrpop
111130
runs-on: ubuntu-latest
112131
steps:
113132
- uses: actions/checkout@v2
133+
- name: Cache generated parser
134+
uses: actions/cache@v2
135+
with:
136+
path: compiler/parser/python.rs
137+
key: lalrpop-${{ hashFiles('compiler/parser/python.lalrpop') }}
114138
- uses: dtolnay/rust-toolchain@stable
115139
- uses: actions/setup-python@v2
116140
with:
@@ -149,3 +173,35 @@ jobs:
149173
git add ./assets/criterion
150174
git -c user.name="Github Actions" -c user.email="[email protected]" commit -m "Update benchmark results"
151175
git push
176+
177+
lalrpop:
178+
name: Generate parser with lalrpop
179+
strategy:
180+
matrix:
181+
os: [ubuntu-latest, windows-latest]
182+
runs-on: ${{ matrix.os }}
183+
steps:
184+
- uses: actions/checkout@v2
185+
- name: Cache generated parser
186+
uses: actions/cache@v2
187+
with:
188+
path: compiler/parser/python.rs
189+
key: lalrpop-${{ hashFiles('compiler/parser/python.lalrpop') }}
190+
- name: Check if cached generated parser exists
191+
id: generated_parser
192+
uses: andstor/file-existence-action@v1
193+
with:
194+
files: "compiler/parser/python.rs"
195+
- if: runner.os == 'Windows'
196+
name: Force python.lalrpop to be lf # actions@checkout ignore .gitattributes
197+
run: |
198+
set file compiler/parser/python.lalrpop; ((Get-Content $file) -join "`n") + "`n" | Set-Content -NoNewline $file
199+
- name: Install lalrpop
200+
if: steps.generated_parser.outputs.files_exists == 'false'
201+
uses: baptiste0928/cargo-install@v1
202+
with:
203+
crate: lalrpop
204+
version: "0.19.8"
205+
- name: Run lalrpop
206+
if: steps.generated_parser.outputs.files_exists == 'false'
207+
run: lalrpop compiler/parser/python.lalrpop

0 commit comments

Comments
 (0)