Commit Graph

178 Commits

Author SHA1 Message Date
HonkingGoose
b997853b24
Update Renovate preset name 2024-05-11 19:06:07 +02:00
DeeDeeG
70f48e2770 CI: Pin to macOS 12 runner images instead of macos-latest (GiHub Actions)
There is an issue with the libiconv library not being available
in macOS 14 out of the box. We can get it from Homebrew perhaps,
but for now pin to macos-12 runner images so we can be assured
of having working CI faster, without having to R&D a libiconv-
related workaround for macOS 14.
2024-05-05 22:23:44 -04:00
DeeDeeG
419801037e CI: Replace git-auto-commit-action with a short inline script
Avoids another external dependency.
2024-04-18 21:39:49 -04:00
DeeDeeG
f4622128f0 CI: Fix editor test run on macOS (no xvfb-run on macOS) 2024-04-18 17:37:32 -04:00
DeeDeeG
0be235a212 CI: Upgrade or replace all deprecated GH Actions
Most of these were old versions of actions
which were running on Node 16. Upgraded them to newer versions
which run on Node 20 instead.

Also tried to replace setup-xvfb action with a direct xvfb-run command.
Let's hope this works.
2024-04-18 17:19:26 -04:00
DeeDeeG
d1bb4c24a2
Merge pull request #901 from pulsar-edit/fix-Rolling-upload-tag-for-Linux-binaries
CI: Fix tag Linux binaries are uploaded to for Rolling
2024-02-06 14:17:05 -05:00
DeeDeeG
c58bc5f14e CI: Fix tag Linux binaries are uploaded to for Rolling
The Rolling binary upload script gets the version from
package.json in the repository files, not from the binary
itself. So, we need to set this value in the repository's
package.json file, regardless of what version the binary itself has.

The version string in package.json is used by the Rolling upload script
to decide what the tag name will be when creating a new Rolling release.
We want timestamped version strings so they are unique,
and older releases are not overwritten/clobbered/won't have conflicts
(whichever would have happened, not worth finding out).
Besides that this restores the convention we had been uploading
the Rolling release tags with so far.

Set a version timestamp just before building the binaries, like on
the other two platforms. Add this to the outputs of the "build" job
if on Linux. Then read this output in the "test and upload, Linux" job.
Now we have synced timestamps again (as much as we did before building
Linux binaries in a Debian 10 Docker container, anyway).

The script could be updated to check the binary itself,
but this way is easier.
2024-01-30 00:00:10 -05:00
DeeDeeG
4f3bc686e1
Merge branch 'master' into tree-sitter-january 2024-01-29 22:44:18 -05:00
DeeDeeG
fd218433f4 CI: Add comments to explain workarounds for Debian Docker 2024-01-24 23:41:50 -05:00
Andrew Dupont
6466d25928 Upload videos unless task is cancelled 2024-01-21 20:48:13 -08:00
Andrew Dupont
317679e0b5 Attempt to get video of integration test failure 2024-01-21 20:03:57 -08:00
DeeDeeG
b7cd6304a0 CI: Build Linux binaries in a Debian 10 Docker container
For compatibility with older Linux distros

Debian 8 is pretty much end-of-life now.
Debian 10 should be old enough to have compatible glibc for RHEL 8.
2024-01-16 14:12:13 -05:00
Andrew Dupont
5e644e4c8d Add package tests to CI 2024-01-03 10:26:17 -08:00
DeeDeeG
30dc9d2e19
Merge pull request #782 from pulsar-edit/CI-build-binaries-for-tag-pushes
CI: Build binaries for tag pushes (GitHub Actions)
2023-11-07 11:32:16 -05:00
DeeDeeG
e7184c424e CI: Work around missing distutils for Python 3.12+
Older versions of node-gyp are incompatible with Python 3.12+,
at least out of the box, since Python 3.12+ no-longer ship with
'distutils' out of the box.

We can work around it by installing 'setuptools' package,
which comes with the required 'distutils'.

Newer versions of node-gyp should come with a fix for this,
but older Yarn or npm will ship with older node-gyp, so here we are.

Note that this isn't really needed on the ubuntu-based CI workflows
for now, since those are on the rather conservatively-updated
Debian/Ubuntu-packaged versions of Python (no newer than Python 3.11,
at present.) But being proactive means this won't sneak up on us later.
2023-11-06 20:18:51 -05:00
confused_techie
d42bae7c28
Merge pull request #740 from pulsar-edit/ensure-wasm-changes
[meta] Create Workflow to validate WASM Grammar Changes
2023-10-25 21:28:16 -07:00
DeeDeeG
cbb4c1113d CI: Build binaries for tag pushes
GitHub Actions was set to only build for branch pushes (only master
branch due to the branch filter), PRs, and manual workflow dispatches.

Now, GitHub Actions will also build for tag pushes.

This helps to ensure Regular releases
get signed binaries built for them.

(GitHub Actions is set to only *sign* the binaries for push events.
Tag creations/pushes will generate push events, so tag pushes should
indeed make signed binaries, not unsigned ones.)
2023-10-21 01:37:12 -04:00
DeeDeeG
3487f9abb0
CI: Increase timeout length for macOS builds
Allow 45 minutes to hopefully reduce the timeouts
we are intermittently seeing for macOS builds.

(30 minutes is occasionally too little time.)
2023-10-20 22:14:48 -04:00
confused-Techie
48fca3c075 Pinning didn't work, instead install setuptools on latest Python 2023-10-19 17:06:54 -07:00
confused-Techie
34851a3089 Pin Python to 3.11.5 on all platforms 2023-10-19 16:37:51 -07:00
confused-Techie
4d85e76aab Specify an exact version of ubuntu 2023-10-11 23:55:28 -07:00
DeeDeeG
28fb9c4d98 CI: Sign binaries (only) for branch pushes, not PRs
Before, we were unintentionally not signing for pushes, and only
signing for PRs.

We definitely *do* want to sign for pushes,
(such as to `master` branch), so that Rolling releases get signed,
but we probably don't need (and probably don't want?) to sign for PRs.
(Regardless of whether from a fork or not.)

So, this commit essentially reverses the situation from before:
- DO sign for branch pushes. (Note: the workflow currently only
  triggers for `master` branch pushes.)
- DON'T sign for any other events, such as for Pull Requests.

(This change is for GitHub Actions only, as the Cirrus config was
already set up in a very particular way during the migration of most
binary builds to GitHub Actions, which was quite recent,
and doesn't need any changes at this time.)
2023-09-28 20:51:15 -04:00
DeeDeeG
fb598e5f40 CI: Use Python 3.11 to fix macOS signing
Background and context for this commit...

Not sure why exactly, but our GitHub Actions workflow is producing
*signed* macOS binaries that pass spctl "acceptance" on the CLI, and
various other signing/notarization checks on the CLI, such as stapler,
but nevertheless warn they can't be verified when opening the signed
Pulsar.app in Finder or using `open` on the CLI, and so on.

Through investigating what changes we can make to better-match the
Cirrus environment, which has producing signed binaries that open just
fine without the warning for months now, we have tried many things.

Eventually, disabling actions/setup-node and actions/setup-python was
tried, which incidentally got us Python 3.11 instead of our manually
pinned older Python 3.10. That worked, the signed binaries open as
they should, sans verification warning.

Further narrowing it down resulted in, any way we get Python other
than 3.10 from actions/setup-python seems to be working.

Given that, this commit starts using Python 3.11 in GitHub Actions,
to fix the "macOS is signed but is still not making Gatekeeper happy"
situation we have been having with GitHub Actions.
2023-09-27 01:34:38 -04:00
confused-Techie
bf8075edc5 Setup node, and checkout the entire repo 2023-09-23 17:35:45 -07:00
confused-Techie
220bbffc75 Create Workflow 2023-09-23 17:19:40 -07:00
confused-Techie
2bb09a0e9f Add comment 2023-09-23 01:44:29 -07:00
confused-Techie
d363cc7340 Try reinstalling node-gyp for current NodeJS Version 2023-09-23 01:44:29 -07:00
DeeDeeG
cb99b1a135
Merge pull request #675 from pulsar-edit/auto-rename-binaries-in-CI-for-Regular-releases
Automatically rename binaries in CI during Regular releases
2023-08-31 00:02:07 -04:00
confused-Techie
a93f1cac37 Simplify comment 2023-08-30 20:13:20 -07:00
confused-Techie
c3bdd11b17 Conditional signing of macOS binaries 2023-08-30 18:26:12 -07:00
confused-Techie
5f67985ab4 Set macOS signing vars as dedicated step 2023-08-30 00:15:05 -07:00
DeeDeeG
a624008c31 CI: Add binary renaming script to GitHub Actions
This script renames the Pulsar binaries to use the naming scheme
we use for all of the Regular release binaries.

It was already added to the Cirrus config,
now it's used in the GitHub Actions workflow as well.

(It checks the version string in package.json to know not to rename
the binaries unless we're actually trying to make a Regular release.)
2023-08-29 23:35:38 -04:00
confused-Techie
0d01129459 Use special token instead of action permissions 2023-08-28 20:42:30 -07:00
confused-Techie
85827f781c Provide extra permissions to GitHub Action to ensure it can create releases 2023-08-28 20:22:32 -07:00
confused-Techie
761b228148 Cleanup push trigger, add workflow_dispatch 2023-08-28 19:27:16 -07:00
confused_techie
1df7747d4f
Merge pull request #682 from pulsar-edit/convert-cirrus-to-github-actions
Migrate most binary building to GitHub Actions
2023-08-28 19:11:29 -07:00
confused-Techie
6c1bef5562 Uncomment macOS signing values 2023-08-28 17:35:05 -07:00
confused-Techie
66382cb967 Pin retry action version 2023-08-27 23:02:39 -07:00
confused-Techie
1e460303ff Switch on macOS visual tests (I don't know if these actually work) 2023-08-27 21:06:15 -07:00
confused_techie
1500cea824
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:02:30 -07:00
confused_techie
a6f37cfc7b
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:02:21 -07:00
confused_techie
d872293a7e
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:02:09 -07:00
confused_techie
66490ef515
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:01:59 -07:00
confused_techie
548b8df4c7
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:01:46 -07:00
confused_techie
31d517f1b3
Update .github/workflows/build.yml
Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
2023-08-27 21:01:24 -07:00
confused-Techie
ac4bcca7e1 Add automatic upload of binaries for push events
This script should upload any binaries it has to the `pulsar-rolling-releases` repo
2023-08-27 01:38:22 -07:00
confused-Techie
650b5ed868 Add ignorePaths to renovate config 2023-08-27 00:02:35 -07:00
confused-Techie
f073ab1c5d Add new and missing packages to Renovate config 2023-08-23 23:19:43 -07:00
confused-Techie
b596922597 Try and fix the if statements 2023-08-22 16:38:55 -07:00
confused-Techie
cf8bf818ac Cleanup logic, expand install timeout for windows, add retry to build, add cleanup to install 2023-08-22 02:20:21 -07:00