Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atom/ci
Build your Atom packages
https://github.com/atom/ci
appveyor atom circleci travis-ci
Last synced: 7 days ago
JSON representation
Build your Atom packages
- Host: GitHub
- URL: https://github.com/atom/ci
- Owner: atom
- License: mit
- Archived: true
- Created: 2014-04-24T00:54:45.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-09-28T10:52:01.000Z (about 2 years ago)
- Last Synced: 2024-08-01T02:32:57.589Z (3 months ago)
- Topics: appveyor, atom, circleci, travis-ci
- Language: PowerShell
- Homepage: https://atom.io/packages
- Size: 159 KB
- Stars: 82
- Watchers: 18
- Forks: 34
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
##### Atom and all repositories under Atom will be archived on December 15, 2022. Learn more in our [official announcement](https://github.blog/2022-06-08-sunsetting-atom/)
# Atom Package CI ScriptsTemplates for building your Atom package and running its specs:
- Windows, macOS and Ubuntu Linux: Using [GitHub Actions](https://github.com/features/actions)
- macOS and Ubuntu Linux: Using [Travis CI](https://travis-ci.org)
- Windows: Using [Appveyor](https://appveyor.com)
- Ubuntu Linux / Docker: Using [CircleCI](https://circleci.com)## Setting up CI for your package
### GitHub Actions
- Copy [.github/workflows/main.yml](https://raw.githubusercontent.com/atom/ci/master/.github/workflows/main.yml)
to the same location in your package's repository tree
- :boom: Your package will now build and run its specs; you can see an example
of a configured package [here](https://github.com/thumperward/auto-create-files/actions)### Travis CI
- Sign up for an account on [Travis CI](https://travis-ci.org)
- Copy [.travis.yml](https://raw.githubusercontent.com/atom/ci/master/.travis.yml)
to the root of your package's repository
- Setup the [Travis CI hook](https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI%3A) on your package's repository
- :boom: Your package will now build and run its specs; you can see an example
of a configured package [here](https://travis-ci.org/atom/wrap-guide)### Appveyor
- Sign up for an account on [Appveyor](https://appveyor.com)
- Add a new project
- Ensure the `Ignore appveyor.yml` setting in `Settings > General` is unchecked
- Copy [appveyor.yml](https://raw.githubusercontent.com/atom/ci/master/appveyor.yml)
to the root of your package's repository
- :boom: Your package will now build and run its specs; you can see an example
of a configured package [here](https://ci.appveyor.com/project/Atom/wrap-guide)### CircleCI
- Sign up for an account on [CircleCI](https://circleci.com)
- Create a `.circleci` directory at the root of your project
- Copy [config.yml](https://raw.githubusercontent.com/atom/ci/master/.circleci/config.yml)
to the new directory
- Commit the changes and push them up to GitHub
- [Add a new project](https://circleci.com/docs/2.0/hello-world/) on CircleCI
- :boom: Your package will now build and run its specs; you can see an example
of a configured package [here](https://circleci.com/gh/AtomLinter/linter-stylelint)## FAQ
### How do I install other Atom packages that my package build depends on?
Set the `APM_TEST_PACKAGES` environment variable in your CI configuration file
to a space-separated list of packages to install before your package's tests
run.```yml
env:
- APM_TEST_PACKAGES="autocomplete-plus some-other-package-here"
```### What version of Atom is used to run the specs?
It will always download the latest available version. You can read more about
the latest Atom release [here](https://atom.io/releases).### How does it work?
The `apm test` command assumes your package is using [Jasmine](http://jasmine.github.io)
specs. You can run the specs locally using Atom's spec runner UI from the
`View > Developer > Run Package Specs` menu or by pressing `cmd-ctrl-alt-p`. You
can run `apm help test` to learn more about that command.#### GitHub Actions
The CI template uses the [Atom setup Action](https://github.com/marketplace/actions/setup-atom) to
install and set up Atom on a runner. The script then installs dependencies from
your package and runs the `apm test` command to run your package's specs.#### Travis CI, CircleCI
The CI template downloads the [build-package.sh](https://raw.githubusercontent.com/atom/ci/master/build-package.sh)
from this repository. This script then downloads the latest Atom release,
installs your package's dependencies, and runs the `apm test` command to run
your package's specs.#### Appveyor
The `appveyor.yml` template uses [Chocolatey](https://chocolatey.org/) to
download and install the [latest version of Atom](https://chocolatey.org/packages/Atom).
`apm install` is run in your package directory to ensure any node dependencies
are available. Finally, the script runs the `apm test` command to run your
package's specs.### What does the output look like?
- [macOS @ Travis CI](https://travis-ci.org/atom/wrap-guide/builds/23774579)
- [Windows @ Appveyor](https://ci.appveyor.com/project/Atom/wrap-guide/build/12)
- [Ubuntu Linux @ CircleCI](https://circleci.com/gh/AtomLinter/linter-stylelint/623)### What packages use this?
- [Linux, macOS](https://github.com/search?utf8=%E2%9C%93&q=%22curl+-s+https%3A%2F%2Fraw.githubusercontent.com%2Fatom%2Fci%2Fmaster%2Fbuild-package.sh+|+sh%22+extension%3Ayml&type=Code)
- [Windows](https://github.com/search?q="cinst+atom"+extension%3Ayml&type=Code)