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

Add CI for running tests #4

Open
capsulecorplab opened this issue Jul 6, 2021 · 2 comments
Open

Add CI for running tests #4

capsulecorplab opened this issue Jul 6, 2021 · 2 comments
Labels
DevOps IT Operations for Development help wanted Extra attention is needed

Comments

@capsulecorplab
Copy link
Contributor

should leverage recommended automation pipeline + toolchain for running Pharo tests

@capsulecorplab capsulecorplab added DevOps IT Operations for Development help wanted Extra attention is needed labels Jul 6, 2021
@RalfBarkow
Copy link

Hi Sean @capsulecorplab

Maybe you want to take a look at Glamorous Toolkit?

[[Releaser]] makes it possible to version deeply nested projects and repositories completely automatically.

From the Glamorous Toolkit Book:

Releaser allows for the creation of release versions for applications that use Metacello baselines to specify their loading configuration (what packages to load, their loading order and their dependencies). Releaser supports projects that use deeply nested baselines spread across many git repositories with a mix of baselines with fix dependencies and dependencies to latest versions.

Releaser aims to be easy to debug. Several design decision, like computing all actions before executing a release and using separate models for releases and dependencies go in that direction. Releaser also uses extensively inspector views to help expose implementation details.

Currently, {{gtClass:GtRlRelease}} provides support for generating new releases. However, in the context of Glamorous Toolkit, the goal is to extend it with support for loading baselines, not only generating them. Several other tools for working with a project (like running all tests in a project, or commiting changes to multiple repositories) could be based on Releaser.

In short, to create a new release a user has to:

  • ensure that all the code of the application that needs to be released is loaded in the current image;
  • create a {{gtClass:GtRlReleaseConfiguration}} configuration controlling various aspects of the release process;
  • run the release exporter to create new Metacello baselines that use fix versions to load dependencies.

Releases can be done manually from the image using the inspector as a user interface, or by relying on a command line handler.

@capsulecorplab
Copy link
Contributor Author

Thanks @RalfBarkow! I'll have to check it out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DevOps IT Operations for Development help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants