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

UziTech/action-setup-atom

Repository files navigation

GitHub Actions Status Travis-CI Status AppVeyor Status

Setup Atom and APM

Downloads Atom and add atom and apm to the PATH

This may be used as an action in GitHub Actions or run with npx setup-atom as an npm package in GitHub Actions, Travis-CI, and AppVeyor. (It might work in other CI environments but it is only tested in those environments).

GitHub Action

Inputs

version

The version to test. Default stable.

Possible values: stable, beta, Any Atom release tag >= v1.0.0 (e.g. v1.50.0 or v1.50.0-beta0)

token

A GitHub token with read permission. Default secrets.GITHUB_TOKEN.

The token is used to search Atom releases to find the latest stable and beta versions.

Example usage

uses: UziTech/action-setup-atom@v3
with:
  version: 'beta'

Full Example

This example runs tests against Atom stable and beta on Linux, Windows, and MacOS.

jobs:
  Test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        version: [stable, beta]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v2
    - uses: UziTech/action-setup-atom@v3
      with:
        version: ${{ matrix.version }}
    - name: Atom version
      run: atom -v
    - name: APM version
      run: apm -v
    - name: Install dependencies
      run: apm ci
    - name: Run tests 🧪
      run: atom --test spec

npm package

npx setup-atom [ATOM_VERSION] [DOWNLOAD_FOLDER]

Examples

GitHub Action

jobs:
  Test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        version: [stable, beta]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v2
    - name: Download Atom
    - run: npx setup-atom ${{ matrix.version }}
    - name: Atom version
      run: atom -v
    - name: APM version
      run: apm -v
    - name: Install dependencies
      run: apm ci
    - name: Run tests 🧪
      run: atom --test spec

Travis-CI

Travis CI doesn't persist the PATH between scripts so setup-atom writes to a file ../env.sh which can be used to export the variables with source ../env.sh. If anyone knows a way around this a PR would be appreciated. 😉👍

see travis-ci/travis-ci#7472

before_script:
  - npx setup-atom ${ATOM_VERSION}
  - source ../env.sh # This is needed to persist the PATH between steps

script:
  - apm ci
  - atom --test spec

jobs:
  include:
    - stage: spec tests 👩🏽‍💻
      os: linux
      env: ATOM_VERSION=stable
    - os: linux
      env: ATOM_VERSION=beta
    - os: osx
      env: ATOM_VERSION=stable
    - os: osx
      env: ATOM_VERSION=beta

AppVeyor

environment:
  matrix:
  - ATOM_VERSION: stable
  - ATOM_VERSION: beta

install:
  - ps: Install-Product node lts
  - npm ci

before_build:
  - npx setup-atom %ATOM_VERSION%

build_script:
  - apm ci
  - atom --test spec