Skip to content
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

Need to be able to specify GsDevKit_home branch for GemStone builds ... #54

Closed
dalehenrich opened this issue Feb 8, 2016 · 10 comments
Closed
Assignees
Labels

Comments

@dalehenrich
Copy link
Collaborator

Probably a GemStone-specific env var set in .travis.yml ... @fniephaus - please assign to me and I will work on this ...

@fniephaus
Copy link
Member

Unfortunately, I can't assign this to you, because you are not (yet) an official contributor of this repo. And I can't add you to hpi-swa, but I will ask someone tomorrow who can.

Why do you need to be able to specify the GsDevKit_home branch?
There are two ways to do this: either via an env var as you suggested, or as an argument of run.sh. An argument can then be used like this.

@dalehenrich
Copy link
Collaborator Author

... haha, I don't need the bug assigned to me, but I do intend to
fix the bug ... Yes I can easily add that to the GemStone scripts and I
can do the work, but I am using this issue as a placeholder to remind
myself to do the work, since I intend to leave SmalltalkCI as is (i.e.,
working AFAICT for GemStone) until the container issues are resolved...

As an example, tODE is dependent upon the structure in GsDevKit_home,
if/when the structure changes, in GsDevKit_home and I make corrsponding
changes to tODE, tODE needs to use a particular branch of GsDevKit_home
for it's tests ... I also have cases where I want to test tODE against
both branches of GsDevKit_home to ensure that structural dependencies
have not snuck in ...

I've already done this on my jury-rigged use of smalltalkCI and tODE[1]
and found it very useful ..

Dale

[1] https://github.com/dalehenrich/tode/blob/dev/.travis.yml

On 02/08/2016 02:56 PM, Fabio Niephaus wrote:

Unfortunately, I can't assign this to you, because you are not (yet)
an official contributor of this repo. And I can't add you to hpi-swa
https://github.com/hpi-swa, but I will ask someone tomorrow who can.

Why do you need to be able to specify the GsDevKit_home branch?
There are two ways to do this: either via an env var as you suggested,
or as an argument of |run.sh|

# Handle all arguments and flags
.
An argument can then be used like this
script: $SMALLTALK_CI_HOME/run.sh --debug
.


Reply to this email directly or view it on GitHub
#54 (comment).

@fniephaus
Copy link
Member

Is there a reason for cloning the entire Git repository?
Couldn't we just use a single download link?
It's probably best if a user can just override that default download link by setting an env variable.

@dalehenrich
Copy link
Collaborator Author

You mean a zip file instead of a clone?

GsDevKit is designed to be used as a clone ... doing a pull request is how a new version of GsDevKit_home is delivered --- so switching branches is how it is documented to use GsDevKit_home ... that's why I talk about switching branches ...

For the purposes of optimizing the operation of smalltalkCI, we could download a zip file of the target commitish , but this optimization would be a separate issue from needing to provide the end user with the ability to switch versions ... I've notthing against doing that ... Of course, I'll ask you to not look too closely at GsDevKit_home itself, because there are a number of projects that get cloned as part of the "normal operation" of GsDevKit_home and it starts to defeat the purpose of using GsDevKit_home, if I start rewriting chunks of the system just for travis:)

@fniephaus
Copy link
Member

Would git clone --depth=1 <remote-url> work? See git-clone.

@dalehenrich
Copy link
Collaborator Author

Does that get me the tip of each branch? If so then that would be fine ...

@fniephaus
Copy link
Member

Yep, it does.
So a user would need to specify a repository and a branch? Would you want to use the Metacello format <repo url>:<branch> and if no <branch> is defined, it defaults to master?

@dalehenrich
Copy link
Collaborator Author

At the moment I am think that a set of environment variables will be used to control the GsDevKit_home options I have a couple of different use cases right now with different projects and I need to sort through things ...

I could also add a GsDevKit_home spec to the smalltalk.ston file ... GsDevKit_home uses a pharo image to implement some of the more complicated logic and I could employ that same technique to this particular problem.

Keep in mind that I want to use smalltalkCI (which uses GsDevKit_home) to actually test GsDevKit_home ....

@fniephaus
Copy link
Member

I'd like to minimize the things that need to be configured via .travis.yml and instead use the STON file. If this works for you, I am happy to extend the STON config with GemStone specific options. Same counts for Pharo and Squeak.
It'd be cool to have a Gemfile/package.json/requirements.txt equivalent in Smalltalk :)

@dalehenrich
Copy link
Collaborator Author

addressed in #105

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants