Skip to content

appveyor: build windows installer#284

Closed
rainers wants to merge 9 commits intodlang:masterfrom
rainers:appveyor
Closed

appveyor: build windows installer#284
rainers wants to merge 9 commits intodlang:masterfrom
rainers:appveyor

Conversation

@rainers
Copy link
Copy Markdown
Member

@rainers rainers commented Dec 29, 2017

no docs for now.

@dlang-bot
Copy link
Copy Markdown
Contributor

Thanks for your pull request, @rainers!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

@rainers
Copy link
Copy Markdown
Member Author

rainers commented Dec 29, 2017

@wilzbach Could you reenable appveyor for this repo? Thanks.

@wilzbach wilzbach closed this Dec 29, 2017
@wilzbach wilzbach reopened this Dec 29, 2017
@wilzbach
Copy link
Copy Markdown
Contributor

Could you reenable appveyor for this repo? Thanks.

Done :)

appveyor.yml Outdated
build_script:
- cd c:/projects/
- ps: |
Start-FileDownload "http://downloads.dlang.org/releases/2.x/$Env:D_VERSION}/dmd.$Env:D_VERSION.windows.7z" -FileName dmd2.7z
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

BTW instead of copy/pasting this all over, we are working towards a windows variant of the installer script. It got a bit stalled though as I'm no expert on Windows nor user.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

BTW instead of copy/pasting this all over, we are working towards a windows variant of the installer script. It got a bit stalled though as I'm no expert on Windows nor user.

I also noticed after creating this PR. Downloading the compiler is usually a smaller problem, but tedious.

@rainers
Copy link
Copy Markdown
Member Author

rainers commented Dec 29, 2017

Done :)

Thanks.

Copy link
Copy Markdown
Contributor

@wilzbach wilzbach left a comment

Choose a reason for hiding this comment

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

Looks great for an initial version!
Do you plan to do more in this PR or should we squash and merge?

7z x bup.zip dm\bin\implib.exe > $null
Start-FileDownload "http://semitwist.com/download/app/dmd-localextras.7z" -FileName extras.7z
7z x extras.7z > $null
Start-FileDownload "http://nsis.sourceforge.net/mediawiki/images/c/c9/Inetc.zip" -FileName inetc.zip
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One experience I have from maintaining D's CIs is that the network isn't 100% reliable, especially the FreeBSD Server from digitalmars.
If we can't put those things on downloads.dlang.org, it be be worthwhile to push them into a GitHub repository as mirror. This would have the additional advantage of being a mirror in our control.

- git clone --depth 1 --branch %BRANCH% https://github.com/dlang/phobos.git "%BASE%/phobos"
- git clone --depth 1 --branch %BRANCH% https://github.com/dlang/tools.git "%BASE%/tools"
- git clone --depth 1 --branch %BRANCH% https://github.com/dlang/dlang.org.git "%BASE%/dlang.org"
- git clone --depth 1 --branch %BRANCH% https://github.com/dlang/dub.git "%BASE%/dub"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could have been a loop and/or function calls to repeat in case of network failures, e.g. https://github.com/dlang/dmd/blob/master/.circleci/run.sh

Of course, this isn't needed for this initial version.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I've kept that task for your installer helper script #275 ;-)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't need to clone the repos for the install script

@rainers
Copy link
Copy Markdown
Member Author

rainers commented Dec 30, 2017

Do you plan to do more in this PR or should we squash and merge?

Not really, but I'm not sure this should go live for now:

  • the localextras are pretty dated, they should be updated or replaced by a new package on downloads.dlang.org
  • @MartinNowak could be right that this isn't really that helpful for generating releases, e.g it won't trigger nightlies for dmd updates.
  • Martin might not be able to use these builds to do an actual release because it doesn't easily integrate with his workflow.

@wilzbach
Copy link
Copy Markdown
Contributor

I think it's still a good step forward to merge this, because it will provide CI feedback for people improving the installer in the future.
Currently we don't have that "many" tests.

7z x dm857c.zip > $null
Start-FileDownload "http://ftp.digitalmars.com/bup.zip" -FileName bup.zip
7z x bup.zip dm\bin\implib.exe > $null
Start-FileDownload "http://semitwist.com/download/app/dmd-localextras.7z" -FileName extras.7z
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

That's hasn't been used in ages, you can take the binaries from the old release.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

That's hasn't been used in ages, you can take the binaries from the old release.

How do you get anything new into that, e.g. link.exe or snn.lib?

@MartinNowak
Copy link
Copy Markdown
Member

If we're going in the direction of testing the build script, we should figure out how to make the VBox build in build_all optional.
Since the build script is rarely update and almost exclusively breaks due to the other repos, I'm not sure how useful testing it would be.

If on the other hand we just want to test the installer, we should download an already released dmd.windows.7z and build the installer from that. This could even be the nightly https://nightlies.dlang.org/dmd-nightly/dmd.master.windows.7z in case new files need to be shipped.

@wilzbach
Copy link
Copy Markdown
Contributor

wilzbach commented Jan 3, 2018

Since the build script is rarely update and almost exclusively breaks due to the other repos, I'm not sure how useful testing it would be.

I think it's very useful, because this gives reviewers and contributors a informative feedback when doing changes.

Since the build script is rarely update and almost exclusively breaks due to the other repos, I'm not sure how useful testing it would be.

Fair point, but a bit unrelated, but maybe @braddr can add a new section "test install" to DAutoTest?

@wilzbach wilzbach closed this Jan 17, 2018
@wilzbach wilzbach reopened this Jan 17, 2018
@wilzbach
Copy link
Copy Markdown
Contributor

As the load of dlang/dmd is increasing I setup a different AppVeyor account for dlang/installer.
Imho the downsides of the annoying AppVeyor login in case manual rebuilds are needed outweighs the advantage of

  • not being blocking by dlang/dmd (and putting less stress on the AppVeyor builds of dlang/dmd).
  • having more than enough resources to do a daily cron

@rainers
Copy link
Copy Markdown
Member Author

rainers commented Jan 31, 2020

Now on Azure.

@rainers rainers closed this Jan 31, 2020
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.

4 participants