Commit graph

177 commits

Author SHA1 Message Date
Michael Telatynski 392005b3a4
Fix use of detect-libc typing (#421) 2022-09-23 12:14:09 +01:00
Michael Telatynski b89b2637b9
Fix typing (#420) 2022-09-23 11:04:38 +01:00
Michael Telatynski b14a1eb3a8
Switch fetch-package to use Github instead of Buildkite (#412)
* Switch fetch-package to use Github instead of Buildkite

* Tweak build to version match better

* Fix version match fetching

* Remove check for `BUILDKITE_API_KEY` as it is no longer required

* Fix develop fetching
2022-09-05 09:49:39 +00:00
Jan Christian Grünhage fa5f42a627
support compilation on more targets (#376)
* support compilation on more targets

* Update scripts/hak/target.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-06-10 20:51:34 +00:00
Michael Telatynski 8c3c190856
Revert back to using libsqlcipher0 for Debian & Ubuntu packages of Desktop (#367)
* Revert back to using libsqlcipher0 for Debian & Ubuntu packages of Element Desktop

Add option to static link for linux instead of forcing it

* Fix linux variants and add CI job

* Fix workflow syntax and add concurrency

* public all the things
2022-05-27 09:15:47 +01:00
Michael Telatynski f1f659b6a0
Improve hak & build ia32 again by default (#369)
* Improve hak & build ia32 again by default

* Test both x86_64 and i686 in CI

* Improve macOS job name

* Try other things

* Iterating this is no fun

* Attempt again

* pwsh is the default, use cmd

* Update the incantation for 2022

* Avoid warning multiple times

* Consolidate build tool setup

* Move default targets to electron-builder and fix warnings
2022-05-26 23:05:59 +01:00
Michael Telatynski 42ab878b08
Update Node Headers URL
https://www.electronjs.org/docs/latest/breaking-changes#deprecated-atomio-node-headers-url
2022-05-22 09:33:14 +01:00
Michael Telatynski 2a2e6781c1
Update weblateToCounterpart to be more resilient (#360) 2022-05-17 16:50:22 +00:00
Michael Telatynski 5f1f6b0b7a
Allow changing the docker image name for in-docker.sh runs (#348) 2022-05-03 10:12:57 +00:00
Michael Telatynski b21c720510
Move more stuff from BK to GHA (#342) 2022-04-21 15:16:18 +01:00
J. Ryan Stinnett 87c5232ba5
Disable Git interactive auth when fetching deps (#298) 2022-01-12 11:02:51 +00:00
Travis Ralston 79b0f14984
Fix git protocol usage for CI (#296)
Prevents this:
```
+ git clone git://github.com/matrix-org/matrix-js-sdk.git matrix-js-sdk --branch develop --depth 1
Cloning into 'matrix-js-sdk'...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
```
2022-01-11 09:06:07 +00:00
J. Ryan Stinnett 989e030d97
Update linting plugin (#294) 2022-01-10 12:57:33 +00:00
David Baker 37d7559d86
Change module mode for hak (#291)
Turns out the previous setting didn't work, and apparently this
needs to be CommonJS.
2021-12-15 15:40:26 +00:00
David Baker 326e6577e1
Convert hak to TypeScript (#289)
* Convert hak to TypeScript

* Fix linter & remove stray log line

* Fix more linting errors

In one case by switching to import() and hence esnext

* Return type for getNodeModuleBin

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* More types

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-12-14 14:32:27 +00:00
David Baker 3c8650065c
Use app-builder-lib to get electron version (#288)
So we can get it the same way electron-builder does and not need
electronVersion in package.json
2021-12-13 21:15:17 +00:00
David Baker 1a38ca6fa7
Merge pull request #234 from vector-im/dbkr/pacote
Use pacote to fetch native modules
2021-07-21 15:26:40 +01:00
David Baker 71134c448d Fix docker variable passthrough 2021-07-19 20:09:13 +01:00
David Baker bfcb1e6bfb Pass through env vars with special prefix 2021-07-19 18:38:30 +01:00
David Baker ba0dd9e2a6 Use pacote to fetch native modules
Fact: 8 out of 10 native node module packages published to npm are broken.
Actual fact: npm has a library called pacote that handles resolving the
package specifier you put in your dependencies to files on disk, and it's
actually really nice.

Change hak to use that library so now it's much simpler, handles
versions correctly and supports git / github etc. urls so we can
specify dependencies from git when a package author only publishes
half of the package to npm.
2021-07-16 23:38:04 +01:00
David Baker d82377e2de Fix not specifying a target
ie. it should use whatever's detected
2021-07-07 21:38:09 +01:00
Germain 79a426b1c0
Merge pull request #227 from vector-im/gsouquet/ci-pure-lockfile
Do not generate a lockfile when running in CI
2021-07-07 17:53:38 +01:00
Germain Souquet e132e1c610 Do not generate a lockfile when running in CI 2021-07-07 16:10:01 +02:00
David Baker 3dd611b5d5
Address macos properly
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-07-07 11:01:45 +01:00
David Baker e07bfc1d6a Support universal builds
Hopefully adequately documented in the README
2021-07-06 23:52:19 +01:00
Michael Telatynski 9b65962d26
Update scripts/copy-res.js
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-07-01 15:48:07 +01:00
Michael Telatynski 8302e284a3 delint 2021-07-01 12:03:38 +01:00
Michael Telatynski 390e2306d0 Fix i18n in Element Desktop 2021-07-01 11:32:09 +01:00
J. Ryan Stinnett b8cb53e11b Fix Windows target arch in native build 2021-06-25 13:10:08 +01:00
J. Ryan Stinnett 3aff9cb9eb Add generated file warning 2021-06-24 15:20:24 +01:00
J. Ryan Stinnett 6579ba80b4 More copyright headers 2021-06-24 15:11:57 +01:00
J. Ryan Stinnett c5dd6195f2 Fix copy command log 2021-06-23 16:18:10 +01:00
J. Ryan Stinnett f3c1db3313 Cross-compile SQLCipher for aarch64-apple-darwin 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett c57a173649 Check for Rust host and target support 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 48dc1ab396 Print rejections that reach the root handler 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 997f2c21bf Use targets in hak environment for cross-compiling
This arranges the hak environment target info around target IDs that come from
the builder, which simplifies cross-compiling. The `target.js` module is a
generated copy of the builder's `target.ts`.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett a171fa417b Borrow target definition from electron-builder
A bit hacky, but for now we paste in the JS generated version of the builder's
`target.ts` module. It's quite unlikely to change often, so this is perhaps
enough for now.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 115f25165a Rename hak target to runtime version
The hak environment's `target` is more like a runtime version, so this renames
to call it that, especially since we're about to add more traditional target
strings. `npm_config_target` remains, since that's what `npm` expects.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 1455687384 Auto-fix lint errors 2021-05-27 14:45:06 +01:00
Tor Solli-Nowlan 46ee80837a
Update scripts/fetch-package.js
Co-authored-by: Germain <germain@souquet.com>
2021-04-14 12:34:53 +02:00
Tor Solli-Nowlan 97178f4297 setDebVersion function no longer exists
Signed-off-by: Tor Solli-Nowlan <tor.solli-nowlan@medisin.uio.no>
2021-04-13 12:22:32 +02:00
J. Ryan Stinnett e952b479ac Update branding of packaging artifacts
This updates the names of various packaging and build artifacts to match current
branding.

Part of https://github.com/vector-im/element-web/issues/14896
2020-11-24 12:48:37 +00:00
J. Ryan Stinnett b7a2810dc3 Update to Element pipeline name 2020-09-09 11:09:10 +01:00
J. Ryan Stinnett 045f122688 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:32:42 +01:00
J. Ryan Stinnett 92f48eced9 Remove JS SDK, no longer needed for lint rules
The JS SDK was previously only here for the ESLint config, but this is now part
of a separate package.
2020-07-28 16:37:46 +01:00
David Baker d9e8fa34e7 Catch exceptions from main method in fetch script 2020-07-23 11:14:26 +01:00
David Baker 3a253fe742 Some terribleness to make updating work on windows
Squirrel doesn't handle the executable changing name, as hopefully
explained in comments
2020-07-14 19:05:28 +01:00
David Baker 466a871094 Rebrand step 1: s/riot/element/ in the places where it's reasonably simple 2020-07-01 15:30:53 +01:00
J. Ryan Stinnett 662aa56b4b
Merge pull request #85 from vector-im/jryans/linter
Add CI scripts to install and link JS SDK
2020-05-12 10:55:40 +01:00
J. Ryan Stinnett 7f7357573c Add CI scripts to install and link JS SDK
This installs and links the JS SDK to access ESLint rules and their deps. These
scripts are copied from the React SDK.

Part of https://github.com/vector-im/riot-web/issues/13584
2020-05-11 10:33:31 +01:00
J. Ryan Stinnett c2896a9caf Persist GPG keys for Linux builds via Docker
Each build command via Docker for Linux builds creates a separate writable layer
from scratch, so anything shared between commands needs to persist on the host.

This adds the container's GPG keys, so that the riot-web GPG key can be
imported in one step and verified in the next.

Fixes https://github.com/vector-im/riot-web/issues/13545
2020-05-07 13:55:21 +01:00
David Baker 8b9314cc0d Get the app ID from the cintext
So we can use the right app ID for nightly
2020-03-11 19:21:14 +00:00
David Baker a1366992bc Remove things that now live in riot-builder 2020-03-07 16:12:59 +00:00
David Baker 0304096e46 lint 2020-03-06 16:42:24 +00:00
David Baker dd59fd586a Merge remote-tracking branch 'origin/master' into dbkr/winsign 2020-03-06 16:31:25 +00:00
David Baker ecbfbe73a0 Add really useful stackoverflow link 2020-03-06 16:18:55 +00:00
David Baker e2a6cc3196 Remove certificateSubjectName which didn't work
and comment cert file hard-coded hack
2020-03-06 16:14:51 +00:00
David Baker aad1e8388e Nope, that didn't work. Try the cert file, 2020-03-06 15:57:25 +00:00
David Baker 83746b5709 let's try this format 2020-03-06 15:52:54 +00:00
David Baker 781eff95ac hardcode cert sha1 to test 2020-03-06 15:51:39 +00:00
David Baker d403b86690 Removing logging 2020-03-06 15:34:36 +00:00
David Baker bffee2d4c3 Add csp option which is apparently required 2020-03-06 15:01:50 +00:00
David Baker 1585e370d3 It's options.options in the original so keep it that way 2020-03-06 14:55:14 +00:00
David Baker 7f25e23878 Also try actually returning the value 2020-03-06 14:50:53 +00:00
David Baker 763b176b2e variable name 2020-03-06 14:49:55 +00:00
David Baker 5c85de4934 Fix synatx hopefully 2020-03-06 14:47:09 +00:00
David Baker f961513212 args, not options 2020-03-06 14:38:13 +00:00
David Baker 6e8f8dcdce Define the args variable
also it's not osslsigncode anymore
2020-03-06 14:35:09 +00:00
David Baker cee7410388 also just one level of options 2020-03-06 14:32:02 +00:00
David Baker 8cbef5b5e5 name the function the same thing 2020-03-06 14:29:11 +00:00
David Baker da606bcd6d Too many dots 2020-03-06 14:22:06 +00:00
David Baker 4dbbf2bb15 Add a windows signing script
As electron builder doesn't support supplying a key container name
which is the only way we can supply the token passphrase
2020-03-04 16:55:12 +00:00
Michael Telatynski eac8118452 Small comment tweaks 2020-03-02 16:45:28 +00:00
David Baker 638fcabf16
Merge pull request #35 from vector-im/dbkr/exitcode
Exit with exit code on exception
2020-02-28 09:36:44 +00:00
David Baker 8aac5928a2
Merge pull request #34 from vector-im/dbkr/fix-set-version
Fix the set-version script
2020-02-28 09:31:59 +00:00
David Baker de1090cc18 Actually pass a function 2020-02-27 21:43:19 +00:00
David Baker 8b8203cea8 Exit with exit code on exception
Otherwise running the check script will just exit with 0 which is
pointless.
2020-02-27 21:37:07 +00:00
David Baker 67a4c99907 Fix the set-version script
Call the right function to set package version and await
2020-02-27 17:34:34 +00:00
David Baker f48692bddb Merge branch 'master' into dbkr/docker-env 2020-02-27 17:30:55 +00:00
David Baker 18dbad4e8c Revert e0631770b5 & 9ec2407957
Which were accidentally comitted to master and also completely wrong
as it sets the version to the literal 'develop' which is silly.
2020-02-27 17:30:00 +00:00
David Baker fca983cc7d Merge branch 'master' into dbkr/docker-env 2020-02-27 17:22:38 +00:00
David Baker 9ec2407957 Don't shadow the import 2020-02-27 17:22:10 +00:00
David Baker a76ebed5d2 Merge branch 'master' into dbkr/docker-env 2020-02-27 17:19:49 +00:00
David Baker e0631770b5 Always update deb version
We always need the debian version to be correct.
2020-02-27 17:17:51 +00:00
David Baker af1f4715be Pass through the env var we actually use to docker 2020-02-27 16:52:09 +00:00
David Baker f58532b556 The variable is called this thing now 2020-02-26 11:59:18 +00:00
David Baker 40dc1d9384 Set version in fetch script
Which plays better with doing develop builds.
2020-02-26 11:56:59 +00:00
David Baker 0c28d1bfb2 Use needle consistently
and remove unused variable
2020-02-21 18:25:33 +00:00
David Baker b94c52c244 Support fetching the latest develop build
Frustratingly, this requires a buildkite API token, even though
the builds & artifacts are available without auth on the buildkite
website.
2020-02-21 18:17:31 +00:00
David Baker 90913256f5 Add our native modules separately into the files
And also the package.json which, for reasons I'm not going to spend
the next two hours of my life wading through the electron-builder
source to discover, is no longer automatically included after adding
the files pattern. The node_modules folder is handled automatically
though, so is redundant.

Change the output directory structure so we have one directory with
all the built native modules under that we can just add to the files,
rather than having to add each one separately.

NB. electron-builder add its own filters to node_modules so that only
runtime (ie. not devDependencies) are copied. These seem to apply
even for manually specified path within node_modules. We can copy *to*
the node_modules directory, however...
2020-02-21 10:57:52 +00:00
David Baker dd6f52e2de Fix setversion script's yarn call on windows 2020-02-19 14:34:27 +00:00
David Baker 7b8ae78038 More comment 2020-02-19 10:07:02 +00:00
David Baker cb96b41645 Merge remote-tracking branch 'origin/master' into dbkr/hak_win_x86 2020-02-19 10:01:18 +00:00
David Baker da5a0e63ec
Merge pull request #22 from vector-im/dbkr/hak_linux
Build seshat on Linux
2020-02-19 10:00:07 +00:00
David Baker 3b642389f2 First attempt at 32 bit windows building 2020-02-18 11:01:34 +00:00
David Baker c6784f829a
Apply suggestions from code review
More fixes under, 'typing is hard'

Co-Authored-By: poljar <poljar@termina.org.uk>
2020-02-18 09:59:09 +00:00
David Baker 13c627ff64
Typing
Co-Authored-By: poljar <poljar@termina.org.uk>
2020-02-18 09:58:09 +00:00
David Baker 52032aac14 Docker powered linux building 2020-02-17 20:10:58 +00:00
David Baker 0bfc970619 Document more awfulness 2020-02-17 17:31:01 +00:00
David Baker 0ccc29e504 missed the script 2020-02-17 15:52:41 +00:00