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

WIP: Debian packaging #1863

Merged
merged 6 commits into from Jul 1, 2018

Conversation

TheAngryByrd
Copy link
Contributor

@TheAngryByrd TheAngryByrd commented Apr 12, 2018

This PR creates initial support for creating fake packages with fpm.

I removed ubuntu specific runtime ids and replaced it with the linux one. If there's a reason to go back let me know.

Testing so far:

  • Install FPM
  • Run DotNetCoreCreateDebianPackage target on osx/linux
    • dotnet fake build -- -t DotNetCoreCreateDebianPackage
  • Install on debian based distro
    • sudo dpkg -i fake_5.0.0~rc004_amd64.deb ; sudo apt install -f -y

Things left to do

  • Clean up code
  • TravisCI creating packages
  • Discuss hosting options (could punt to another issue/PR)

@matthid
Copy link
Member

matthid commented Apr 12, 2018

For we could just upload the dep file to github releases and discuss hosting separately. At least it improves the situation a bit.

Regarding running on linux that is a bit of a problem as we currently release on windows (and I'd like to prevent running a release on multiple machines as of today). If we cannot get fpm to run on windows we might need to use docker or something like that.

@TheAngryByrd
Copy link
Contributor Author

is linux subsystem an option? if not, I can see if I can get fpm working on cygwin/babun also if that's on the table.

@TheAngryByrd TheAngryByrd force-pushed the 1828-deb-packaging branch 3 times, most recently from a2be351 to cf72466 Compare April 12, 2018 17:48
@matthid
Copy link
Member

matthid commented Apr 13, 2018

is linux subsystem an option?

We are planning to switch to a deployment pipeline (instead of releasing locally). I'm not sure if it is available there.

if not, I can see if I can get fpm working on cygwin/babun also if that's on the table.

Yes that would make me feel a bit better. In worst case we can probably bundle everything (for example as nuget package).

@matthid
Copy link
Member

matthid commented Apr 13, 2018

We should probably keep an eye on https://github.com/qmfrederik/dotnet-packaging as well (but it doesn't seem to be finished yet)

@matthid
Copy link
Member

matthid commented May 6, 2018

Just to let you know: I'm currently thinking about introducing a release pipeline for fake. And it is possible that I decide to use gitlab ci, which would mean fpm is available...

@matthid
Copy link
Member

matthid commented May 19, 2018

Ok our release process is not setup with vsts. In theory we could use linux agents. But stuff would be a lot simpler if we manage to run it on windows somehow ...

@TheAngryByrd
Copy link
Contributor Author

If we hard need it to run on windows, I'll poke around the dotnet-packaging stuff and see if that's usable.

@TheAngryByrd
Copy link
Contributor Author

As I was screwing around I found there was already a fake package listed in debian repos https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=fake

Should we rename to fake-cli?

@matthid
Copy link
Member

matthid commented May 22, 2018

Should we rename to fake-cli?

Yeah I guess we need to? At least it matches with global tool. Question is if we should rename chocolatey :)

@TheAngryByrd
Copy link
Contributor Author

Technically haven't released officially yet so a name change is fine right?

I'll leave this decision up to you :)

@matthid
Copy link
Member

matthid commented May 22, 2018

Apparently that dotnet-packaging stuff breaks the regular publish process. Maybe we just need to copy the project file once mode (we already have copies for dotnet-fake and fake-cli...)

@matthid
Copy link
Member

matthid commented Jun 13, 2018

Ping :)

@TheAngryByrd
Copy link
Contributor Author

Sorry I take a look at this tonight.

@TheAngryByrd
Copy link
Contributor Author

This is green now, anything obvious that need to change?

@matthid
Copy link
Member

matthid commented Jun 25, 2018

Please give me a couple of days to review, but if this works and the integration in the release process works (for example upload to github) then it should be fine. Thanks a lot will report back in detail soon (hopefully)

@matthid
Copy link
Member

matthid commented Jun 29, 2018

Ok can you please add the generated .deb file to the github release:

https://github.com/TheAngryByrd/FAKE/blob/2b24412e9a4ac6f9ee67415ffabf20b9767e7b8a/build.fsx#L1215-L1224

I think adding it here (FastRelease Target) should be enough

@matthid matthid changed the base branch from master to release/next June 30, 2018 10:29
@matthid
Copy link
Member

matthid commented Jul 1, 2018

Ok let me try to finalize this, thanks!

@matthid matthid merged commit 2b24412 into fsprojects:release/next Jul 1, 2018
@matthid matthid mentioned this pull request Jul 1, 2018
@matthid
Copy link
Member

matthid commented Jul 1, 2018

The debian package is already on github-staging, see https://github.com/fake-staging/FAKE/releases

Feel free to test

@matthid
Copy link
Member

matthid commented Jul 1, 2018

Do we need some documentation around how to use this?

@TheAngryByrd
Copy link
Contributor Author

TheAngryByrd commented Jul 2, 2018

Sorry, just saw this. Anything else for me to do?

Do we need some documentation around how to use this?

For installing

1. Download fake-cli.5.1.1.linux-x64.deb (or appropriate version)
2. sudo dpkg -i fake-cli.5.1.1.linux-x64.deb ; sudo apt install -f -y

Running should be the same after that.

fake build

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.

None yet

2 participants