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

use dependencies to generate build config #142

Merged
merged 16 commits into from
Nov 13, 2018

Conversation

shiftkey
Copy link
Member

@shiftkey shiftkey commented Nov 13, 2018

This PR introduces a canonical dependencies.json file that defines everything needed for generating a dugite-native package.

The goal here is to have a consistent source of truth for things like files and checksums to simplify two things:

  • when upgrading dependencies, have one place to upgrade them (instead of multiple locations with their own quirks)
  • we can derive all the artifacts we need from this source, using a repeatable script rather than manual processes

As part of investigating #140 I found myself wanting to read the YAML config files to use them as a source of truth, but this felt flaky because we have two configs and they often get out of sync because we forget to update one (potentially two if I keep pushing #122 along and use Azure Pipelines).

With this approach, we instead use dependencies.json and have a single generate-all-configs script that generates all the build configs using the dependencies metadata.

The next step to this is to have a corresponding npm run update-git-lfs or npm run update-git commands that query for the latest release and update dependencies.json to reflect the new bits. Then running generate-all-configs will update the configs with new values and everything will be ✨

TODO:

  • address Appveyor config incompatibilies
  • add generated header to YAML files to indicate they are machine-generated now and to refer to the source files if changes need to be made

@shiftkey shiftkey merged commit 0c5560e into master Nov 13, 2018
@shiftkey shiftkey deleted the use-dependencies-to-generate-build-config branch November 13, 2018 17:58
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.

1 participant