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

Please, allow to form CI results into separate repository #637

Closed
Anton-Latukha opened this issue Jun 19, 2020 · 10 comments
Closed

Please, allow to form CI results into separate repository #637

Anton-Latukha opened this issue Jun 19, 2020 · 10 comments

Comments

@Anton-Latukha
Copy link
Collaborator

Anton-Latukha commented Jun 19, 2020

The results are portable and should be shared to Haskell community.
This default.nix or making it an *.nix extension to package allows exposing all haskell.lib functionality.
It is very practical useful thing and nobody shared it before with a community - it should be shared.

  1. https://github.com/haskell-nix/hnix/blob/master/default.nix which exposes Nixpkgs haskell.lib API - can be used by itself for development (it also integrates with Haskell IDE Engine), debugging, build testing, package quality assurance.
  2. https://github.com/haskell-nix/hnix/blob/master/build.sh which exposes Nixpkgs haskell.lib API - can be used with default.nix to have also GHCJS build.
  3. https://github.com/haskell-nix/hnix/blob/master/.travis.yml which exposes Nixpkgs haskell.lib API.

I would get the git history and form the separate repository, that would also allow to clean the configuration and make it universal abstraction for other projects to use.

I would do this in the nearest time.

I think it is logical to host Haskell Nix CI setup result in haskell-nix group.

@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Jun 19, 2020

Kindly asking for a response and informing, since that code is not only mine code and work.

I hope #636 would be accepted. Being socially responsible requires me to publish the work, so the Haskell community would be able to easily build/extend their CIs leveraging the Nixpkgs Haskell Lib features have ability to do testing for Nixpkgs in any CI even if they do not know any Nix, and those people are the major part of Haskell community.

Anton-Latukha added a commit that referenced this issue Jun 23, 2020
CI: refactor CI setup config

Working gradually, need to test CI passage.

Now when most docs are removed, it is more obvious where to reduce the NOTEs.

Also synchronized the interface explicitness with what `build.sh` provides.

Would test and maybe add a new build feature check.

Working towards  #645 and #637.

Renamed `(GHCVERSION->compiler)` to correspond option with the `nix-build` and Nixpkgs Haskell Lib.

---

In the middle of work Nix installer got a major release, so also includded a bigger CI refactoring to keep CI working #648
@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Jun 26, 2020

Due to no permissions to form related repository here, I need to create repository haskell-nixpkgs-ci separately.

Notifying @jwiegley @mightybyte @domenkozar, you are the main base authors on top of code of which I did work and added ideas on top in relevant files, I would respect the BSD 3 and preserve commit history and work of authors.

@Anton-Latukha
Copy link
Collaborator Author

The repository is at: https://github.com/Anton-Latukha/haskell-with-nixpkgs

@jwiegley
Copy link
Member

@Anton-Latukha Are you asking for a review of the code in that repository?

@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Jul 5, 2020

@jwiegley I know that BSD license does not require it, but as a human simply and politely notifying that the part of the work is formed into a separate repository, and good if it was possible to have it in the haskell-nix group. That is all to it.

There is almost no code to review there, it is a repo for bootstrapping Haskell project into Nix ecosystem, I want to make it the public knowledge, so the Haskellers would start to use Nixpkgs in their projects and CIs and so Haskell-Nix use community would grow and collaborate/integrate with Nixpkgs more.

Since it is simple to work and should take only a couple of weeks, and I learn useful things in the process (as GitHub Actions CI, and have agenda to read more deeply into Haskell-Nix Nixpkgs integration) which would result in direct gains in CI migration for HNix, and providing CI for HNix-store, making documentations to all this at the same time, on top of public benefit and direct community catalyst, I see this as an efficient step where all sides of it directly benefit the HNix progress and its maintenance in the long run.

@jwiegley
Copy link
Member

Ah, so this is just notifying us? If so, sounds like a fine way to proceed for now. What is the intended future going to look like, in terms of what lives where?

@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Jul 23, 2020

@jwiegley, I already made request of hosting in here (haskell-nix) in report #636 and in the head massage of the thread, but that requests never returned any result, so the project went into my account. I would have one or two passes more - and it is ready, I've tried to fit the project even to monorepo, but the situation in hnix-store nix infra puzzled me. I do not know how to pass the interface through that hnix-store nix-shell files properly.

Would prioritize:

  • NEXT: Support of the classic Haskell projects (via submodule) - mostly done, only manual testing needed
  • NEXT: Support of the single repo setup, like HNix has (via providing docs how to git merge it and update process) - mostly done, only manual testing needed
  • TODO: Automation and testing between the activated project master branch, merge process branch and submodule branch.
  • TODO: Giving pretty clear documentation on this.
  • DONE: Giving drop-in samples of use in CI.
  • TODO: Include direct Hackage->Nixpkgs integration test into CI samples. - developPackage env and process, so closures - pretty different from Hackage -> hackage2nix -> Nixpkgs, and everyone needs this test to be aware of Nixpkgs-specifics, HNix already encountered a couple of cases when developPackage worked great, we made a clean Hackage release, but Hackage -> hackage2nix -> Nixpkgs integration had/has special cases.

Enumerated list - is pretty much the objective of the repo. Many people struggle with Haskell Nixpkgs integration.

Since already I tried and it went the way that the repo already is my account, I would pursue that goal there, and since that is pretty much already done.

As I said before - haskell-nix/nixpkgs-with-haskell is a proper place for the project, and as I stated the more useful project in the group - the more interest directed to all group projects, the more active community forms around the group. If we will agree to transfer it to haskell-nix - when I would advertise the project to the public would depend on the situation would I would settle on the paid gig before that moment or not, in the current situation I currently would/can not pass the honest opportunity to advertise the useful project formed in the account to have easier employment time, maybe it would even result in somebody giving direct interest.

I am ready and interested to support the project in haskell-nix/nixpkgs-with-haskell, it would be a pretty calm waters configuration setup, so pretty stable showing-up, and infrequent maintenance/development is what is required.

@jwiegley
Copy link
Member

jwiegley commented Aug 5, 2020

Hi @Anton-Latukha, excuse me if I'm a little lost, but what exactly do you need from me? Is it just created a new repository within the haskell-nix organization and making you the administrator for it?

@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Aug 5, 2020

I already have the project: https://github.com/Anton-Latukha/haskell-with-nixpkgs

The #681 was a merge of the project development back for HNix benefit.

I wanted to make publishment for my personal profile, it is a hard time to find work, especially for non-EU/US Haskeller. But now when we actively discuss, I am ready to transfer it properly, and then develop to publication.

I think https://github.com/Anton-Latukha/haskell-with-nixpkgs should be transferred to haskell-nix/haskell-with-nixpkgs.

https://help.github.jp/enterprise/2.11/user/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-to-an-organization

"Users must have repository creation permissions within the receiving organization before they can transfer a repository that they individually own."

That is why I actually opened "Please, include maintainers of these repositories into the haskell-nix group " #636, so things become official for us, current active maintainers, and so we can import directly relevant to haskell-nix projects into the group.

@Anton-Latukha
Copy link
Collaborator Author

Anton-Latukha commented Aug 7, 2020

Repo was transferred to https://github.com/haskell-nix/haskell-with-nixpkgs, development is ongoing, thank you, the topic is solved.

Anton-Latukha added a commit that referenced this issue Aug 14, 2020
CI: refactor CI setup config

Working gradually, need to test CI passage.

Now when most docs are removed, it is more obvious where to reduce the NOTEs.

Also synchronized the interface explicitness with what `build.sh` provides.

Would test and maybe add a new build feature check.

Working towards  #645 and #637.

Renamed `(GHCVERSION->compiler)` to correspond option with the `nix-build` and Nixpkgs Haskell Lib.

---

In the middle of work Nix installer got a major release, so also includded a bigger CI refactoring to keep CI working #648
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

No branches or pull requests

2 participants