Skip to content

Commit fecbe6e

Browse files
authored
Revert "Simplify makefile (#1068)" (#1112)
This reverts commit cc31bf6.
1 parent 23b9b2b commit fecbe6e

File tree

2 files changed

+42
-36
lines changed

2 files changed

+42
-36
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,12 @@ jobs:
6363
path: target/
6464

6565
- name: Lint
66-
run: make lint-native-targets
66+
run: make lint-native-targets-ci
6767

6868
- name: Test
69-
run: make test-native-targets
69+
run: make test-native-targets-ci
7070

7171
- name: WPT
72-
run: make test-wpt
72+
run: |
73+
npm install --prefix wpt
74+
npm test --prefix wpt

Makefile

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
.PHONY: fmt fmt-check lint-wasi-targets test-wasi-targets wasi-targets lint-native-targets test-native-targets native-targets test-wpt test clean cli plugin build-test-plugins build-default-plugin vet ci
1+
.PHONY: fmt fmt-check lint-wasi-targets lint-wasip1-targets lint-wasip2-targets \
2+
test-wasi-targets test-wasip1-targets test-wasip2-targets wasi-targets \
3+
lint-native-targets test-native-targets test-native-targets-ci native-targets \
4+
test-wpt test-wpt-ci test-all clean cli build-default-plugin build-test-plugins \
5+
vet ci
26
.DEFAULT_GOAL := cli
37

48
# === Format checks ===
@@ -61,7 +65,9 @@ test-wasip2-targets:
6165
wasi-targets: lint-wasi-targets test-wasi-targets
6266

6367
# === Lint & Test Native Targets ===
64-
lint-native-targets: fmt-check build-default-plugin
68+
lint-native-targets: build-default-plugin lint-native-targets-ci
69+
70+
lint-native-targets-ci: fmt-check
6571
CARGO_PROFILE_RELEASE_LTO=off cargo clippy --workspace \
6672
--exclude=javy \
6773
--exclude=javy-plugin-api \
@@ -71,7 +77,12 @@ lint-native-targets: fmt-check build-default-plugin
7177
--exclude=javy-test-plugin-wasip2 \
7278
--release --all-targets --all-features -- -D warnings
7379

74-
test-native-targets: build-default-plugin build-test-plugins
80+
test-native-targets: build-default-plugin build-test-plugins test-native-targets-ci
81+
82+
# This command assumes a CI environment in which the test plugin
83+
# assets have been previously created in the expected directories.
84+
# This ensures that we can recycle CI time.
85+
test-native-targets-ci:
7586
CARGO_PROFILE_RELEASE_LTO=off cargo hack test --workspace \
7687
--exclude=javy \
7788
--exclude=javy-plugin-api \
@@ -81,46 +92,21 @@ test-native-targets: build-default-plugin build-test-plugins
8192
--exclude=javy-test-plugin-wasip2 \
8293
--release --each-feature -- --nocapture
8394

95+
8496
native-targets: lint-native-targets test-native-targets
8597

8698
# === Web Platform Tests
8799

88-
test-wpt: cli
100+
# For usage in CI, in which we assume pre-existing assets.
101+
test-wpt-ci:
89102
npm install --prefix wpt
90103
npm test --prefix wpt
91104

105+
test-wpt: cli test-wpt-ci
106+
92107
# === All tests ===
93108
test-all: wasi-targets native-targets test-wpt
94109

95-
# === Binaries ===
96-
97-
# First, build the default plugin, which is a dependency to the CLI.
98-
# No need to run `javy_plugin_processing`, the CLI build.rs will take
99-
# care of doing that.
100-
target/release/javy: build-default-plugin
101-
CARGO_PROFILE_RELEASE_LTO=off cargo build -p=javy-cli --release
102-
103-
target/wasm32-wasip1/release/plugin.wasm:
104-
cargo build -p=javy-plugin --target=wasm32-wasip1 --release
105-
106-
target/wasm32-wasip1/release/test_plugin.wasm:
107-
cargo build -p=javy-test-plugin-wasip1 --target=wasm32-wasip1 --release
108-
cargo run --package=javy-plugin-processing --release -- target/wasm32-wasip1/release/test_plugin.wasm target/wasm32-wasip1/release/test_plugin.wasm
109-
110-
target/wasm32-wasip2/release/test_plugin.wasm:
111-
cargo build -p=javy-test-plugin-wasip2 --target=wasm32-wasip2 --release
112-
cargo run --package=javy-plugin-processing --release -- target/wasm32-wasip2/release/test_plugin.wasm target/wasm32-wasip2/release/test_plugin.wasm
113-
114-
target/wasm32-unknown-unknown/release/test_invalid_plugin.wasm:
115-
cargo build -p=javy-test-invalid-plugin --target=wasm32-unknown-unknown --release
116-
117-
cli: target/release/javy
118-
119-
# Build the default plugin
120-
build-default-plugin: target/wasm32-wasip1/release/plugin.wasm
121-
122-
# Build auxiliary plugins, for testing
123-
build-test-plugins: build-default-plugin target/wasm32-wasip1/release/test_plugin.wasm target/wasm32-wasip2/release/test_plugin.wasm target/wasm32-unknown-unknown/release/test_invalid_plugin.wasm
124110

125111
# === Misc ===
126112
clean:
@@ -134,3 +120,21 @@ vet:
134120
# GitHub Actions if we try to compile native targets in the same workflow as
135121
# WASI targets so we have to use a multi-step process in GitHub to avoid that.
136122
ci: lint-wasi-targets lint-native-targets vet test-all
123+
124+
# First, build the default plugin, which is a dependency to the CLI.
125+
# No need to run `javy_plugin_processing`, the CLI build.rs will take
126+
# care of doing that.
127+
cli: build-default-plugin
128+
CARGO_PROFILE_RELEASE_LTO=off cargo build -p=javy-cli --release
129+
130+
# Build the default plugin
131+
build-default-plugin:
132+
cargo build -p=javy-plugin --target=wasm32-wasip1 --release
133+
134+
# Build auxiliary plugins, for testing
135+
build-test-plugins:
136+
cargo build --package=javy-test-plugin-wasip1 --target=wasm32-wasip1 --release
137+
cargo build --package=javy-test-plugin-wasip2 --target=wasm32-wasip2 --release
138+
cargo build --package=javy-test-invalid-plugin --target=wasm32-unknown-unknown --release
139+
cargo run --package=javy-plugin-processing --release -- target/wasm32-wasip1/release/test_plugin.wasm target/wasm32-wasip1/release/test_plugin.wasm
140+
cargo run --package=javy-plugin-processing --release -- target/wasm32-wasip2/release/test_plugin.wasm target/wasm32-wasip2/release/test_plugin.wasm

0 commit comments

Comments
 (0)