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

assets.CHANNELNAME.json should use relative paths #82

Closed
AArnott opened this issue Apr 12, 2024 · 3 comments
Closed

assets.CHANNELNAME.json should use relative paths #82

AArnott opened this issue Apr 12, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@AArnott
Copy link
Contributor

AArnott commented Apr 12, 2024

To cater to #18 not being an option, I'm building my velopack packages on the build agents that match the target OS.
But I'm not uploading those packages from multiple machines, because I only want to publish a release across channels if the whole pipeline succeeded.

So what I've crafted is to build the packages first, on various build agents, and collect these packages as pipeline artifacts.
Then I have a final job that (if everything else was successful) downloads the pipeline artifacts created by the 3 build agents and then uploads all the velopack packages at once.

The problem I run into is that the assets.CHANNELNAME.json file contains absolute paths rather than relative paths. And the absolute path has changed from one agent to the next. So vpk upload fails.

Can we get vpk pack to create this assets json file with relative paths, and vpk upload to accept that?

@caesay caesay added the enhancement New feature or request label Apr 12, 2024
@caesay
Copy link
Member

caesay commented Apr 12, 2024

Agreed, this needs to get looked at. Ideally I'd like to deprecate assets.{channel}.json entirely, it's only used by the upload command. I feel like the intended behavior is probably always to just take and upload the latest releases for the specified channel, rather than reading the assets file which is a list of files produced by the last pack command.

Guessing which files to upload based on the target channel is easy for .nupkg files, we just open it and read the embedded channel. Not so easy for installers or .AppImage's. We can guess based on the filename but I don't love that.

As a workaround for now, you could write a small script on your final uploading agent which writes a new assets file.

@AArnott
Copy link
Contributor Author

AArnott commented Apr 12, 2024

As a workaround for now, you could write a small script on your final uploading agent which writes a new assets file.

Yes, that's exactly what I have in mind.

Thanks for reviewing.

@caesay
Copy link
Member

caesay commented Dec 30, 2024

This is now done

@caesay caesay closed this as completed Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants