diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 6e188972..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,111 +0,0 @@ -version: 2 - -defaults: &defaults - working_directory: /tmp/project - docker: - - image: arcanemagus/atom-docker-ci:stable - environment: - # Pre-install the required language file as package activation doesn't wait - # for the installation to complete. - APM_TEST_PACKAGES: "language-postcss" - steps: - # Restore project state - - attach_workspace: - at: /tmp - - run: - name: Create VFB for Atom to run in - command: /usr/local/bin/xvfb_start - - run: - name: Atom version - command: ${ATOM_SCRIPT_PATH} --version - - run: - name: APM version - command: ${APM_SCRIPT_PATH} --version - - run: - name: Package APM package dependencies - command: | - if [ -n "${APM_TEST_PACKAGES}" ]; then - for pack in ${APM_TEST_PACKAGES}; do - ${APM_SCRIPT_PATH} install "${pack}" - done - fi; - - run: - name: Package dependencies - command: ${APM_SCRIPT_PATH} install - - run: - name: Cleaning package - command: ${APM_SCRIPT_PATH} clean - - run: - name: Package specs - command: ${ATOM_SCRIPT_PATH} --test spec - # Cache node_modules - - save_cache: - paths: - - node_modules - key: v3-dependencies-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json"}} - -jobs: - checkout_code: - <<: *defaults - docker: - - image: circleci/node:latest - steps: - - checkout - # Restore node_modules from the last build - - restore_cache: - keys: - # Get latest cache for this package.json and package-lock.json - - v3-dependencies-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json"}} - # Fallback to the current package.json - - v3-dependencies-{{ .Branch }}-{{ checksum "package.json" }}- - # Fallback to the last build for this branch - - v3-dependencies-{{ .Branch }}- - # Fallback to the last available master branch cache - - v3-dependencies-master- - # Don't go further down to prevent dependency issues from other branches - # Save project state for next steps - - persist_to_workspace: - root: /tmp - paths: - - project - lint: - <<: *defaults - docker: - - image: circleci/node:latest - steps: - # Restore project state - - attach_workspace: - at: /tmp - - run: - name: Node.js Version - command: node --version - - run: - name: NPM Version - command: npm --version - - run: - name: Install any remaining dependencies - command: npm ci - - run: - name: Lint code - command: npm run lint - stable: - <<: *defaults - beta: - <<: *defaults - docker: - - image: arcanemagus/atom-docker-ci:beta - -workflows: - version: 2 - test_package: - jobs: - - checkout_code - - lint: - requires: - - checkout_code - - stable: - requires: - - lint - - beta: - requires: - - lint diff --git a/.github/workflows/pulsar-test.yml b/.github/workflows/pulsar-test.yml new file mode 100644 index 00000000..8cb8c203 --- /dev/null +++ b/.github/workflows/pulsar-test.yml @@ -0,0 +1,28 @@ +name: CI +on: + - push + - pull_request +jobs: + test: + name: Test + strategy: + matrix: + os: [ubuntu-20.04, macos-latest, windows-2019] + fail-fast: false + runs-on: ${{ matrix.os }} + timeout-minutes: 5 + steps: + - name: Checkout the Latest Package Code + uses: actions/checkout@v3 + - name: Setup Pulsar Editor + uses: pulsar-edit/action-pulsar-dependency@v3.3 + - name: Set up node + uses: actions/setup-node@v3 + with: + node-version: 20 + - name: Install deps + run: npm install + - name: Run the headless Pulsar Tests + uses: coactions/setup-xvfb@v1.0.1 + with: + run: pulsar --test spec diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d66d3b14..00000000 --- a/.travis.yml +++ /dev/null @@ -1,74 +0,0 @@ -### Project specific config ### -language: node_js -node_js: lts/* -install: skip -os: linux - -env: - global: - # Pre-install the required language file as package activation doesn't wait - # for the installation to complete. - - APM_TEST_PACKAGES="language-postcss" - -jobs: - include: - # Test Atom versions - - stage: test - env: ATOM_CHANNEL=stable - - stage: test - env: ATOM_CHANNEL=beta - - # Check the commit messages and run the extra lint script - - stage: test - install: - - npm install - before_script: skip - script: - - commitlint-travis - - - stage: release - # Since the deploy needs APM, currently the simplest method is to run - # build-package.sh, which requires the specs to pass. - before_deploy: - - export PATH=${PATH}:${HOME}/atom/usr/bin/ - deploy: - provider: script - skip_cleanup: true - script: - - npx semantic-release - -### Generic setup follows ### -script: - - curl -s -O https://raw.githubusercontent.com/atom/ci/master/build-package.sh - - chmod u+x build-package.sh - - "./build-package.sh" - -notifications: - email: - on_success: never - on_failure: change - -branches: - only: - - master - - "/^greenkeeper/.*$/" - -git: - depth: 10 - -dist: trusty - -sudo: false - -addons: - apt: - packages: - - build-essential - - git - - libgnome-keyring-dev - - fakeroot - -stages: - - test - - name: release - if: (NOT type = pull_request) AND branch = master diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 8298df37..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,22 +0,0 @@ -### Project specific config ### -environment: - APM_TEST_PACKAGES: language-postcss - - matrix: - - ATOM_CHANNEL: stable - - ATOM_CHANNEL: beta - -### Generic setup follows ### -build_script: - - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/atom/ci/master/build-package.ps1')) - -branches: - only: - - master - -version: "{build}" -platform: x64 -clone_depth: 10 -skip_tags: true -test: off -deploy: off diff --git a/package.json b/package.json index 0827eef0..baea3a2b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "atom": ">=1.7.0 <2.0.0" }, "scripts": { - "test": "atom --test spec", + "test": "pulsar --test spec", "lint": "eslint .", "prepare": "husky install" }, @@ -69,7 +69,6 @@ "devDependencies": { "@commitlint/cli": "17.7.1", "@commitlint/config-conventional": "17.7.0", - "@commitlint/travis-cli": "17.7.1", "eslint": "8.47.0", "eslint-config-airbnb-base": "15.0.0", "eslint-plugin-import": "2.28.1",