Fork me on GitHub
#off-topic
<
2022-09-26
>
pez16:09:47

The #calva CI pipeline is broken 😞 It is having troubles in CI with downloading Atom (the editor). It has been working for years, but today it fails in a strange way... It's basically this recipe: https://github.com/atom/ci#circleci

version: 2
jobs:
  build:
    working_directory: /tmp/project
    environment:
      # Required:
      DISPLAY: ":99"
      # Configurable
      ATOM_LINT_WITH_BUNDLED_NODE: "true"
      APM_TEST_PACKAGES: ""
      ATOM_CHANNEL: "stable"
    # Machine Setup
    # The following configuration line tells CircleCI to use the specified
    # docker image as the runtime environment for your job.
    # For more information on choosing an image (or alternatively using a
    # VM instead of a container) see 
    # To see the list of pre-built images that CircleCI provides for most common
    # languages see 
    docker:
    - image: circleci/node:latest
    steps:
    - checkout
    - run:
        name: Update system package lists
        command: sudo apt-get update
    - run:
        name: Install some pre-requisite packages
        command: sudo apt-get --assume-yes --quiet install curl xvfb
    - run:
        name: Start display server for Atom
        command: /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1024x768x16 +extension RANDR
        background: true
    - run:
        name: Download Atom build script
        command: curl -s -O 
    - run:
        name: Make build script executable
        command: chmod u+x build-package.sh
    - run:
        name: Run package tests
        command: ./build-package.sh
    # On MacOS:
    # - run: caffeinate -s build-package.sh
The Run package tests step fails because at Download Atom build script a zero-byte .deb file is downloaded. I've confirmed this by running the failed job with the SSH option. Basically it are these commands that fail:
curl -s -L "" \
        -H 'Accept: application/octet-stream' \
        -o "atom-amd64.deb"
      sudo dpkg --install atom-amd64.deb || true
Where ${ATOM_CHANNEL} is stable. What is extra strange, but offers some hope, is that if I run ./build-package.sh via SSH, then it works. Anyone seen something like that before?

pez17:09:46

It seems to have started to work again. But super strange that it wouldn't work, but worked when I was executing the command manually via SSH.

👍 2
mauricio.szabo14:10:05

http://atom.io is completely broken these days

mauricio.szabo14:10:10

It's been facing DDoS over DDoS, there are actually a lot of SPAM packages being published that also weight on this server, and lots of other problems, so maybe that's why you were getting this weird zero-byte .deb

Annaia Danvers16:09:31

I'm getting a 500 from http://atom.io root and no response from https://atom.io/download/deb?channel=stable, though hilariously actually did get me a download. Could this be related to the announcement that Atom was ending?

mauricio.szabo14:10:07

Actually, yes and no. The servers were having trouble with 500 errors for a while now, but after they announced the sunset everything got worse really fast. I am not sure if it's something deliberate or not (I have my own opinions on this) but yeah, the server is almost dead indeed

Annaia Danvers14:10:01

probably whoever's job it was to kick it whenever it fell over has now been reassigned to kicking something else.

mauricio.szabo15:10:39

I think it's deliberate. I've been trying to publish a package for a while now, made a script to try to publish it. Left it running for 3 hours, and could not publish even once. As for the SPAM packages, since the sunset announcement there are like 25,000 of them (Atom's package more than doubled since the announcement, and the new ones are ALL spam). so... how does these packages are getting published?

deep_thinking 1
borkdude16:09:04

(why does Calva CI download atom?)

3
pez16:09:00

The tests for the TMLanguage grammar are run as Atom package tests. Legacy reasons. VS Code also does this as part of its integration tests. I've not figured out another way to do it. Because I haven't had problems with it and because it is pretty nice to hack on the grammar using Atom.

pez14:10:37

I should at least see if it can be used to run the grammar tests.

mauricio.szabo18:10:17

It should - we're using it to run our pulsar grammar tests 😄. If you want, you can make a PR to fix the docker image and run that on CirrusCI - https://github.com/pulsar-edit/pulsar. Then I can merge it, and we can use the image to run tests everywhere 😄

pez18:10:50

I’ll have a look.