Skip to content

Conversation

@SCOTT-HAMILTON
Copy link

Here is a simple workflow for continuous building of master after each commits on a linux machine leveraging Nix.

Copy link
Collaborator

@CuppoJava CuppoJava left a comment

Choose a reason for hiding this comment

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

Thank you!


stdenv.mkDerivation rec {
pname = "lbstanza-bin";
version = "0.14.33";
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thank you for this Scott! I'm not familiar with NIX syntax.

Is there a way to pull this version from compiler/stz-params.stanza? I'm don't want to accidentally forget and accidentally leave this workflow unsynchronized.

Copy link
Author

Choose a reason for hiding this comment

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

This CI isn't meant to be used against latest stable release but rather against master, it's meant to test every commit.

The way it does it is by first using this binary stanza to build master. So this version number isn't what we are testing, it's the version of the stanza compiler we are using to try and build master.

Do we really need to always use the latest stable binary release indicated in compiler/stz-params.stanza in order to build master ?

@CuppoJava
Copy link
Collaborator

Thanks Scott! Left one comment on your PR, and closing this issue.

@CuppoJava CuppoJava closed this Jan 20, 2022
@CuppoJava CuppoJava reopened this Jan 21, 2022
@CuppoJava
Copy link
Collaborator

Hmm. I meant to close the issue, not the PR. But I guess the two are linked.

Thanks for the explanation. It would be a little more robust if it used the binary release indicated in compiler/stz-params.stanza in master. There are two types of changes that cause this:

  1. Sometimes we change the code generation. In this case, we need the code generated from the compiler to be consistent with what is expected by core.

  2. Sometimes (very rarely) we change some macro definition and then use the updated definition in the implementation of the compiler. In this case, we will need the updated compiler in order to parse its own sources.

@SCOTT-HAMILTON SCOTT-HAMILTON force-pushed the master branch 2 times, most recently from faa1327 to afe8b5f Compare January 21, 2022 14:43
@SCOTT-HAMILTON
Copy link
Author

Hmm. I meant to close the issue, not the PR. But I guess the two are linked.

Thanks for the explanation. It would be a little more robust if it used the binary release indicated in compiler/stz-params.stanza in master. There are two types of changes that cause this:

  1. Sometimes we change the code generation. In this case, we need the code generated from the compiler to be consistent with what is expected by core.
  2. Sometimes (very rarely) we change some macro definition and then use the updated definition in the implementation of the compiler. In this case, we will need the updated compiler in order to parse its own sources.

Ok, I've pushed one commit that makes the CI automatically update nix/lbstanza-bin to the version indicated in compilers/stz-params.stanza if needed. This will generate automatic commits every time the version in compilers/stz-params.stanza changes. The workflow is configured to commit under my name, works on my fork but not sure if it will work once merged upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants