-
Notifications
You must be signed in to change notification settings - Fork 208
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
test: new job to test the XS worker #1649
Conversation
8893b2e
to
f832a4e
Compare
@michaelfig please take a look at the github workflow file and check that my changes aren't going to mess up / get messed up by the cache operations.. I don't really understand when the cache is read/written to. It'd be nice to cache the XS toolkit (the part built by But the @dckc please check what I did to your Makefile ( |
packages/xs-vat-worker/xs-lin.mk
Outdated
.PHONY: all | ||
|
||
all: | ||
$(MAKE) -f xs-lin.mk build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why $(MAKE)
in a subprocess rather than just make all
depend on build
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted a place to emit distinctive echo
lines just before each step ran (because they were failing as I figured things out); using the normal make
dependencies didn't make it clear when the stages were happening. That said, now that it works, I don't strictly need it anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no strong feelings.
install-gio: | ||
sudo apt-get -y update && sudo apt-get -y install libgio2.0-dev | ||
sudo apt-get -y update && sudo apt-get -y install libglib2.0-dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm surprised that suffices... I think it won't if/when we use sockets from within XS. But I'm OK with it for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I can tell (https://packages.ubuntu.com/search?keywords=libgio&searchon=names&suite=all§ion=all) libgio2.0-dev
isn't actually a package. I think libgio
and libglib
header/.a
files are both included in the libglib2.0-dev
package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, modulo cleaning up the Github action a bit. It really needs to be meticulously tidied for understandability, since there is no such thing as macros in that yaml file. But you did discern the right things to change.
if: steps.built.outputs.cache-hit != 'true' | ||
- name: yarn install | ||
run: yarn install | ||
if: steps.built.outputs.cache-hit != 'true' | ||
- name: install XS dependencies | ||
working-directory: ./packages/xs-vat-worker | ||
run: yarn install:xs-lin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move this clause below the # END-RESTORE-BOILERPLATE
.
- name: yarn build | ||
run: yarn build | ||
if: steps.built.outputs.cache-hit != 'true' | ||
- name: yarn build-xs-worker | ||
working-directory: ./packages/xs-vat-worker | ||
run: yarn build:xs-lin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And this one too. (You didn't change the boilerplate that all the tests use except for the with: submodules: 'true'
.)
Maintainability edits look fine (though I haven't tested them or anything like that). But...
As I said in our earlier discussion, I'm hesitant to rely on the tool that generates it; have you reviewed tools/findmods.js carefully? I didn't have in mind production-quality lights-out operation when I wrote it; I had in mind that a developer would manually check the results, partly by doing a I also wanted to check for compatibility with @kriskowal 's endo work by using typescript; I did that and discovered that there is indeed an arbitrary difference in our designs. https://github.com/dckc/agoric-sdk/commits/endo-types I had in mind to use #57 to represent the work to finish the work on |
I looked over the ci logs and they are as I would expect. Rather satisfying, in fact. https://github.com/Agoric/agoric-sdk/runs/1054099878?check_suite_focus=true I somewhat regret that the burden of building this ci step fell to you instead of me, but I suppose it serves as a form of code-review of the stuff I did. The C code in our branch of the moddable SDK has some debugging diagnostics that I think I originally inherited some from prototyping work that you did; I suppose they should be hidden by default before too much longer but they're OK for now?
|
oh... the
|
64306a8
to
0396ced
Compare
0396ced
to
102bf14
Compare
a077819
to
38c63fb
Compare
102bf14
to
7324955
Compare
This changes the "test swingset" CI job to additionally build the XS toolkit (written in C), and then use that toolkit to compile the `xs-vat-worker` program. The SwingSet unit tests will then exercise this program (they skip the test unless the program is available). To make the results more visible, another small step was added to run just the one unit test that exercises `xs-vat-worker`. The `git clone` steps were changed to include submodules, since the xs-vat-worker package uses a git submodule to fetch our modified version of the XS source tree. refs #1299
The original name came from the XS build tool convention, but required annoying `-f` flags every time you use it, and we're only ever building for linux/unix here.
e621485
to
db5e305
Compare
Enhance the test-swingset GitHub Actions CI job to also build and test the new
xs-vat-worker
executable.refs #1299