Skip to content

Rewatch windows support #7477

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Jun 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
65d7f78
add rescript 12 as dep
jfrolich May 23, 2025
8ce238d
paths wip - windows support
jfrolich May 16, 2025
44b6605
log error
jfrolich May 26, 2025
1f957a1
fix bug
jfrolich May 26, 2025
36aae3d
fix bug
jfrolich May 26, 2025
d7b2311
paths wip - windows support
jfrolich May 16, 2025
959caa4
wip
jfrolich May 23, 2025
0094a31
fix another path issue
jfrolich May 23, 2025
69580cc
remove logging
jfrolich May 26, 2025
0526247
remove dep on rescript core for v12
jfrolich May 26, 2025
a819a62
remove core - snapshots
jfrolich May 26, 2025
04b6714
See if it works on CI
jfrolich May 26, 2025
2f65284
don't skip install
jfrolich May 27, 2025
ec5de6f
default the bsc path to the one in the repo
jfrolich May 27, 2025
90aeb9c
copy stdlib build artifacts to the test repo after building the runtime
jfrolich May 27, 2025
43a6275
also run non-integration tests
jfrolich May 27, 2025
f33e1d5
make it work when no node-modules are installed
jfrolich May 27, 2025
b249165
fix?
jfrolich May 27, 2025
aaf1719
fix lockfile
jfrolich May 27, 2025
2c23b76
see error
jfrolich May 27, 2025
ccc7b53
fix?
jfrolich May 27, 2025
1b83ac3
fix?
jfrolich May 27, 2025
03448b4
Revert "see error"
jfrolich May 27, 2025
45d6c51
fix path
jfrolich May 27, 2025
40f0387
fix: verbatim windows paths
Bushuo May 27, 2025
44696a5
fix: incremental build on windows `get_res_path_from_ast`
Bushuo May 28, 2025
ae18ec0
fix: file paths in snapshots by normalizing on windows
Bushuo May 29, 2025
5d935a9
debug: print bash version
Bushuo May 30, 2025
2ac6f3a
fix CI output
jfrolich May 29, 2025
d659af6
improve CI output
jfrolich May 29, 2025
7ce8778
Revert "debug: print bash version"
Bushuo May 30, 2025
97a89bc
feat: add snapshot_output to IncrementalBuildError
Bushuo May 30, 2025
a57f118
test: update snapshots
Bushuo May 30, 2025
4cf3b1a
test: `build` to check for lock
Bushuo May 30, 2025
f6bec19
debug: check output after watch
Bushuo May 30, 2025
b4d39df
test: sleep longer
Bushuo May 30, 2025
caed520
sleep longer for mac os
jfrolich May 30, 2025
3c9de5b
fix typo
jfrolich Jun 4, 2025
097d6e6
fix typo in snapshots
jfrolich Jun 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ jobs:
- name: Install npm packages
run: yarn install

- name: Install testrepo deps
run: cd rewatch/testrepo && yarn install
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally rewatch/testrepo should be added to the yarn workspaces, then we wouldn't need this. We can look into that in a separate PR though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Behavior is slightly different then. It's better to have a separate independent workspace for testing. If we add it to the monorepo, the dependencies would be hoisted to the rescript root, so we have a monorepo inside a monorepo.


- name: Install dependencies (Linux)
if: runner.os == 'Linux'
uses: awalsh128/[email protected]
Expand Down Expand Up @@ -133,6 +136,8 @@ jobs:
- name: Copy rewatch binary
run: |
cp rewatch/target/${{ matrix.rust-target }}/release/rewatch${{ runner.os == 'Windows' && '.exe' || '' }} rewatch
mkdir -p rewatch/target/release
cp rewatch/target/${{ matrix.rust-target }}/release/rewatch${{ runner.os == 'Windows' && '.exe' || '' }} rewatch/target/release
./scripts/copyExes.js --rewatch
shell: bash

Expand Down Expand Up @@ -354,6 +359,9 @@ jobs:
if: runner.os != 'Windows'
run: make -C tests/gentype_tests/typescript-react-example clean test

- name: Run rewatch tests
run: make test-rewatch

- name: Run syntax benchmarks
if: matrix.benchmarks
run: ./_build/install/default/bin/syntax_benchmarks | tee tests/benchmark-output.json
Expand Down Expand Up @@ -507,7 +515,6 @@ jobs:
working-directory: ${{ steps.tmp-dir.outputs.path }}

- name: Install ReScript package in rewatch/testrepo
if: runner.os == 'Linux'
run: |
COMMIT_SHA="${{ github.event.pull_request.head.sha || github.sha }}"
yarn add "rescript@https://pkg.pr.new/rescript-lang/rescript@${COMMIT_SHA::7}"
Expand All @@ -516,8 +523,7 @@ jobs:

- name: Run rewatch integration tests
# Currently failing on Windows and intermittently on macOS
if: runner.os == 'Linux'
run: make test-rewatch-ci
run: make test-rewatch-integration

publish:
needs:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ test-gentype:
test-rewatch:
bash ./rewatch/tests/suite-ci.sh

test-rewatch-ci:
test-rewatch-integration:
bash ./rewatch/tests/suite-ci.sh node_modules/.bin/rewatch

test-all: test test-gentype test-analysis test-tools test-rewatch
Expand Down
Loading