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).
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)
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.
uses: UziTech/action-setup-atom@v3
with:
  version: 'beta'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 specnpx setup-atom [ATOM_VERSION] [DOWNLOAD_FOLDER]
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 specTravis 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. 😉👍
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=betaenvironment:
  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