Brave version update required

The current version on channel beta for brave is 0.17.19

whereas, on github, brave has moved on to 0.18.x

Do brave upstream developers maintain snap builds?

or does snapcraft maintain and build for them currently?

How can users update to the latest available version asap?

I chatted with Sampson on the brave forums, and we discussed about automating brave snap builds via launchpad

If we can hook up the requisite snapcraft.yaml configuration to their release branch.

Is this a viable option as of now?

Or because it is an electron app, would the upstream developers need to use electron itself to build release snaps?

Currently, I do not see a snapcraft file on their branches

I can see your comment on this upstream GitHub Issue… Thanks for raising this in the forum.
@wimpress please can you have a look at this? I can’t see a snapcraft.yaml in their repo so I have no idea how they’re building this and that upstream issue indicates that the strict snap isn’t working anyway? We have a repo in the snapcrafters GitHub but snap info brave indicates that the snap is now owned by Brave upstream, so do we need to remove our repo (but where is their snapcraft.yaml?!)?

1 Like

Although I can probably help a bit more before we need Martin to step in…@retrocausal you say on your GitHub comment that ‘I see that you are just using dump plugin on snpcraft.’ Can you link me to their snapcraft.yaml? Because I can’t see it :frowning:

Nah I was referring to the packaged snapcraft.yaml that comes with the snap.

I can confirm that there is no snapcraft file on their repo anywhere

We’re in contact with the upstream Brave developers. I’ll leave it for Martin in the morning as he has the latest info.

2 Likes

Awesome thanks! :slight_smile:

Can the build be automated? Is it something launchpad can handle?

If it is a matter of electron builds, launchpad can certainly handle it with some env variables set while the build happens like so:


# Electron's version.
export npm_config_target=1.6.9
# The architecture of Electron, can be ia32 or x64.
export npm_config_arch=x64
export npm_config_target_arch=x64
# Download headers for Electron.
export npm_config_disturl=https://atom.io/download/electron
# Tell node-pre-gyp that we are building for Electron.
export npm_config_runtime=electron
# Tell node-pre-gyp to build module from source code.
export npm_config_build_from_source=true
# Install all dependencies, and store cache to ~/.electron-gyp.
HOME= $HOME/.electron-gyp npm install

The actual hurdle might be with sandboxing

and determining what plugs to plug into and what packages to stage.

But I see that we can simply copy over these from the current snapcraft file?

In general all snaps can be built automatically. Whether that’s via launchpad, travis, circleci or some other home-grown CI system. Whenever we talk to ISV’s we always encourage automation.

2 Likes