Skip to content
This repository has been archived by the owner on Jan 20, 2023. It is now read-only.

apm vs apm-beta #7

Closed
Arcanemagus opened this issue Jan 4, 2018 · 3 comments
Closed

apm vs apm-beta #7

Arcanemagus opened this issue Jan 4, 2018 · 3 comments

Comments

@Arcanemagus
Copy link
Contributor

When Atom is installed on a *NIX platform the beta channel releases don't actually provide apm, instead that utility is provided as apm-beta. If the CI build is setup so the beta build runs "last" and semantic-release runs there, it can't find apm and fails.

I see two solutions to this:

  • Allow apm-config to use apm-beta
    • I don't think this is the right solution, because by its very nature the Beta channel builds are not supposed to be trusted.
  • Explicitly note in the documentation that semantic-release should only be ran on builds for the stable channel of Atom.

If you agree that the second option is the way to go I can put up a quick PR updating the documentation 😉.

See AtomLinter/atom-linter-pug#22 for an example where this issue was fixed.

@pvdlg
Copy link
Member

pvdlg commented Jan 4, 2018

Just to be sure, what's the difference between apm publish and apm-beta publish is it just the apm CLI that is in a more recent/beta version or does that change the way the package is published (like make it available only for Atom beta users)?

If the publish is actually different we might want to support both (and still clarify in the doc) in case users want to release on the beta channel.

If the publish is the same then the second solution (doc) is the best. In addition we can add another verification that makes sure the environment variable ATOM_CHANNEL is set to stable (or empty if stable is the default).
This way we can display an error message to users who didn't read the doc.

@Arcanemagus
Copy link
Contributor Author

apm and apm-beta are theoretically identical, the only difference is that apm-beta goes with a version of Atom from the beta channel (for easy distinction between the two when both Stable and Beta are installed on the same system).

So assuming that the Beta channel hasn't introduced any bugs in apm it should be fine to use either of them, I suggested a documentation update just because it's safer to only rely on the Stable channel version.

In addition we can add another verification that makes sure the environment variable ATOM_CHANNEL is set to stable (or empty if stable is the default).

Although probably everyone is using the build scripts from atom/ci, it's not actually a requirement so that environment variable, although useful if present, probably isn't the best to use as a required thing.

@pvdlg
Copy link
Member

pvdlg commented Jan 4, 2018

Ok, thanks for the clarifications. Let's go for the doc update then.

Arcanemagus added a commit to Arcanemagus/apm-config that referenced this issue Jan 4, 2018
Add a note clarifying that when using `travis-deploy-once` and multiple
versions of Atom in your CI configuration, the Stable channel build
needs to be the "last" one for `apm` to be available.

Fixes semantic-release#7.
Arcanemagus added a commit to Arcanemagus/apm-config that referenced this issue Jan 4, 2018
Add a note clarifying that when using `travis-deploy-once` and multiple
versions of Atom in your CI configuration, the Stable channel build
needs to be the "last" one for `apm` to be available.

Fixes semantic-release#7.
@pvdlg pvdlg closed this as completed in #8 Jan 4, 2018
pvdlg pushed a commit that referenced this issue Jan 4, 2018
Add a note clarifying that when using `travis-deploy-once` and multiple
versions of Atom in your CI configuration, the Stable channel build
needs to be the "last" one for `apm` to be available.

Fixes #7.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants