Commit Graph

120 Commits

Author SHA1 Message Date
Andrew Dupont
410e5003f6 Skip unnecessary steps when building Silicon macOS binaries in CI 2024-07-06 19:40:32 -05:00
Andrew Dupont
7dcd838645 Don't need this in the prepare_script step 2024-06-27 23:05:53 -07:00
Andrew Dupont
274000f0a0 Link to Homebrew version of libiconv
…to work around incompatible version of `libiconv` bundled with newer versions of XCode.
2024-06-27 22:43:53 -07:00
DeeDeeG
24e8a8c07a Cirrus: Update Rolling upload token
The old token had expired and needed to be regenerated.
2024-05-20 15:20:00 -04:00
DeeDeeG
1b44be3dac Cirrus: Fix gem install fpm on ARM Linux
Apparently we need `ruby-dev` (development headers) package
to build fpm gem's native extensions now?!

Well, it's an easy fix. Not sure why we didn't need this up until now,
but oh, well.
2024-05-15 23:40:18 -04:00
confused-Techie
1919596867 Update Cirrus CI Token 2024-05-15 19:31:41 -07:00
DeeDeeG
f560f7a2e5 CI: brew uninstall node@20 in .cirrus.yml
Apparently it's not the "node" cask anymore in the base CI image,
it's the "node@20" cask. Wow.

The workaround of uninstalling this is still needed,
it's just that the package name has changed.
2024-05-13 19:09:06 -04:00
DeeDeeG
ea9182aab1 CI: Remove workaround for Homebrew node in Cirrus on macOS
This workaround was necessary before because something broke.

Now the workaround is the thing that breaks things.

Go figure.
2024-05-13 18:16:10 -04:00
DeeDeeG
bc6888ccdb
Merge pull request #960 from pulsar-edit/cirrus-update-Rolling-token-again
cirrus: Update Rolling upload token again
2024-03-19 21:31:40 -04:00
DeeDeeG
01bf81772a cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
  - Fixes some C/C++ compilation errors??
  - Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
  - Homebrew "node" package is conflicting with (now deprecated)
    "node@16" package, loading dynamic libraries like icu4c
    keeps breaking...
- Get Yarn using npm global install, not from Homebrew
  - I... honestly don't even know at this point. But Yarn from Homebrew
    is breaking somehow, possibly due to it referring back to Homebrew
    "node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
  - Why? Why is this necessary? Homebrew, explain? Something about our
    "environment being externally managed", so global package installs
    with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 14:01:26 -04:00
DeeDeeG
5455b7d2b6 cirrus: Try to update Rolling upload token again
I must have accidentally regenerated the token an additional time
after encrypting it last time, such that the encrypted version was
already inactive (regenerated over) by the time the PR went up
to switch to it.

Fingers crossed I've done it correctly this time.
2024-03-18 18:39:19 -04:00
confused_techie
7d2d876cf2
Merge pull request #936 from pulsar-edit/CI-update-Cirrus-token
CI: Update Rolling upload token for Cirrus CI
2024-03-07 07:58:18 -08:00
DeeDeeG
cc4e193529 cirrus: Pin dotenv to semver ~> 2.8, not exact 2.8.1
Better to receive future minor/patch updates than pin exact,
considering this dependency used to be totally unbounded ">= 0".

We probably won't remember to update this in the future,
so best to specify a range rather than an exact arbitrary version.
2024-03-01 13:30:09 -05:00
DeeDeeG
b2b2ed9b2e CI: Update Rolling upload token for Cirrus CI
The old token has expired.
2024-02-19 23:12:31 -05:00
DeeDeeG
ac73b991b6 cirrus: Install older dotenv gem version 2.8.1
This indirect dependency has a newer version that requires
Ruby 3.0 or newer. We're on Debian 10 "Buster" for now, which is
still on Ruby 2.5.

Pin to dotenv 2.8.1, the latest version compatible with our older Ruby,
per the error message from CI:

> The last version of dotenv (>= 0) to support your Ruby & RubyGems
> was 2.8.1. Try installing it with `gem install dotenv -v 2.8.1`
> and then running the current command again
>
> dotenv requires Ruby version >= 3.0.
> The current ruby version is 2.5.0.
2024-02-15 23:38:38 -05:00
confused-Techie
d99fe383d4 Update Cirrus GITHUB_TOKEN 2024-02-14 19:01:12 -08:00
DeeDeeG
30c03390b7 CI: Update Rolling upload token for Cirrus
The old token is set to expire soon, here's the new one.
2023-11-21 02:19:03 -05:00
confused-Techie
084c28c911 Update GITHUB_TOKEN encrypted value 2023-11-15 16:48:41 -08:00
DeeDeeG
63d8968265 CI: Add brew update step to macOS on Cirrus
Should allow installing python@3.12 successfully from Homebrew.
2023-11-06 17:14:22 -05:00
DeeDeeG
10f98e42a3 CI: Don't install setuptools for ARM Linux (Python 3.7 doesn't need it) 2023-11-06 17:09:21 -05:00
confused-Techie
98a65b04c8 Install setuptools on all platforms 2023-10-19 18:02:10 -07:00
confused-Techie
34851a3089 Pin Python to 3.11.5 on all platforms 2023-10-19 16:37:51 -07:00
DeeDeeG
152b80e524
Cirrus: Don't update last good commit if CI skipped
For builds that are effectively skipped, since their tasks are all
skipped or not scheduled in the first place, we shouldn't update
CIRRUS_LAST_GREEN_CHANGE.

Unfortunately, Cirrus *does* update that for builds with no or
all-skipped tasks, for now. They may fix it in the future, we have a
feature request open for it. But for now, this is the workaround.
2023-09-13 15:36:48 -04:00
DeeDeeG
48531274b7 Cirrus: Skip builds if same commit was previously built
Doing this to save on CI credits that might otherwise be spent
re-building the same commit multiple times.

Also prevents us from publishing the same git revision as multiple
Rolling release versions published days apart from one-another.

For details of these env vars and the `skip` keyword, see:
- https://cirrus-ci.org/guide/writing-tasks/#environment-variables
- https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
2023-08-31 03:16:00 -04:00
DeeDeeG
b5918acfce
CI: Tweak Cirrus build filter to allow tag pushes
We were trying to filter for a certain PR label before,
but inadvertently checked the wrong env var,
based on interpreting some guidance we got from Cirrus team.

In researching what it should be instead, it occurred to me we can
indeed use the `CIRRUS_TAG` env var to check for *any tag push*,
which should actually do pretty well at filtering for releases
after all, since releases are the only times we really push tags.
2023-08-31 01:02:19 -04:00
DeeDeeG
5ecd2b8475 Merge branch 'master' into auto-rename-binaries-in-CI-for-Regular-releases 2023-08-29 22:28:06 -04:00
confused-Techie
4ce257c8eb Add limits to when the cirrus script will run 2023-08-28 17:44:31 -07:00
DeeDeeG
313ae1aafe CI: Fix env var usage for Cirrus config
Env vars acan't be set per script, only per task, apparently.
2023-08-28 04:01:05 -04:00
DeeDeeG
c4a2d9d06c CI: New Rolling release upload token for Cirrus
Add a new token that can upload Rolling release binaries from Cirrus
to GitHub Releases for the Rolling repo.

Prefer this token in the upload script if it is set in the
corresponding env var ROLLING_UPLOAD_TOKEN, otherwise try GITHUB_TOKEN
(This allows the script to work in Cirrus, where the new env var will
be set, and in GitHub Actions where we use the GITHUB_TOKEN.)

(Testing to see if this can be set per-script, otherwise we will have
to set it for the whole task instead.)
2023-08-28 03:49:15 -04:00
confused-Techie
1a6e20fb70 Export path on silicon to ensure we can use npm 2023-08-27 20:47:35 -07:00
confused-Techie
e18e8628d0 Ensure cirrus scripts don't upload rolling release on pr or commit builds 2023-08-27 20:42:50 -07:00
confused-Techie
96f9f91c0a Add rolling release script usage to CirrusCI 2023-08-27 20:20:38 -07:00
confused-Techie
b1c0a45efe Comment out all Cirrus tasks other than Silicon and ARM 2023-08-27 01:39:33 -07:00
DeeDeeG
c7422d1a34 CI: Fix test steps for macOS runs with renamed binaries 2023-08-16 19:50:15 -04:00
DeeDeeG
e73e5ff410 CI: Fix PATH export for ARM Mac binary renaming step
Copy-pasting this line from the Intel Mac CI steps
was apparently not the correct way to do it.

Whoops, again.
2023-08-16 19:27:56 -04:00
DeeDeeG
e23c70ac98 CI: Fix bin rename script invocation on Windows
We're using bash here, even on Windows,
so backslashes are escape characters, not path separators.
2023-08-16 00:07:07 -04:00
DeeDeeG
7014976f02 CI: Export homebrew bin dirs to PATH for rename script
Without this, the rename_binary_script step has no `node` on the PATH,
and errors out (thus erroring out the entire run
before uploading any binaries)!

Whoops.
2023-08-16 00:01:49 -04:00
DeeDeeG
0dac1e514d CI: Automatically rename binaries for Regular releases
Adds a renaming script to rename the binaries with our
Regular release naming scheme, and updates the Cirrus config
to run said renaming script.

De-facto codifies our existing, officially unofficial naming scheme
with a bit of automation.

We can always revise this down the line
if consensus changes for how to name these files.

Just a little institutional knowledge to unburden team members with,
via the (sometimes double-edged sword...) of automation.
2023-08-15 20:28:18 -04:00
confused_techie
7eb3dc5b68
Update Cirrus Token 2023-08-09 17:04:53 -07:00
cat-master21
3d304f1bb9
fix: remove rvm from binary_artifacts 2023-07-20 10:33:54 -07:00
cat-master21
60ee92864b
fix: use the correct package name 2023-07-20 10:18:48 -07:00
cat-master21
0cbc335b21
fix(arm): use rubygems from APT 2023-07-20 09:52:52 -07:00
confused-Techie
34f744a1b5 Add encrypted secret API Token 2023-05-11 20:20:32 -07:00
Maurício Szabo
6deb896114 Finally, Windows working 2023-04-05 11:08:22 -03:00
Maurício Szabo
f716156fdc Merge branch 'build-and-test' of github.com:pulsar-edit/pulsar into build-and-test 2023-04-05 10:01:00 -03:00
Maurício Szabo
ac5c949443 Three tries with newer Node on windows 2023-04-05 10:00:15 -03:00
Maurício Szabo
67d92c3b03
Unzipping, now for real 2023-04-05 02:03:17 -03:00
Maurício Szabo
fab3cc14ec
Am I understanding this correctly? 2023-04-05 01:02:34 -03:00
Maurício Szabo
70f2d773f6
Debugging... guess what? Windows! 2023-04-04 23:34:36 -03:00
Maurício Szabo
5885f49acb Trying to expand the ZIP file 2023-04-04 22:09:24 -03:00