Commit Graph

171 Commits

Author SHA1 Message Date
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
confused-Techie
a84507a3b0 Add retries, simplify logic 2023-08-22 01:37:31 -07:00
confused-Techie
0d90881f2e Fix logic for running agnostic pulsar binary build 2023-08-22 01:00:38 -07:00
confused-Techie
dd2ae4fcfe Fix what value is checked for to build agnostic binaries 2023-08-22 00:36:52 -07:00
confused-Techie
5383603e6e Fix naming of Build Pulsar (macOS) => Build Pulsar Binaries (macOS) 2023-08-22 00:26:09 -07:00
confused-Techie
8d75726d10 Compare booleans to true unlike JS 2023-08-22 00:14:39 -07:00
confused-Techie
ff0db1f8cc Restore one valid comment 2023-08-21 23:14:57 -07:00
confused-Techie
dfe9dfa5f0 Use env vars to disable tests and signing on specific platforms 2023-08-21 23:13:53 -07:00