Commit Graph

51 Commits

Author SHA1 Message Date
Jordi Gutiérrez Hermoso
6760416a24 workflows: don't build stable twice, just push it twice
This now matches the `docker_latest.yml` setup. No point building
grist-ee/grist twice.
2024-07-12 12:49:50 -04:00
Jordi Gutiérrez Hermoso
aafc9baac8 workflows: use variable tags for the stable build
This will make it easier to do some testing while I make sure that
this build is correct.
2024-07-12 12:49:50 -04:00
Jordi Gutiérrez Hermoso
b6e48abf66 workflows: add a dummy ext to the stable build
See a437dfa28c for details
2024-07-12 12:49:50 -04:00
Jordi Gutiérrez Hermoso
a437dfa28c workflows: explicitly add a dummy ext/ directory
Having it checked in to git caused problems with Grist Desktop and
Grist Static because their build processes expected to have nothing
there, as well as interfering with checking out Grist Core as a
submodule.

So we do this instead.
2024-07-11 16:55:41 -04:00
Jordi Gutiérrez Hermoso
8f443a3d78 workflows: move experimental tag back to latest
Our builds seem to be fine now. It is time to release boldly and
widely the new Docker images to the `latest` tag.
2024-07-11 13:06:32 -04:00
Jordi Gutiérrez Hermoso
78f5bd9f5d workflow: conditionally restore ext/ directory
Now that we *have* to have something in the ext directory, we need to
either restore the external ext or the default OSS ext depending on
which build we are doing.
2024-07-10 14:53:39 -04:00
Spoffy
a999b4250e Fixes OSS including EE by providing empty ext dir 2024-07-08 14:21:39 -04:00
Spoffy
90a9291e0d
Configures Enterprise Edition image to automatically start with enterprise features enabled (#1084)
* Makes EE be separately built and pushed
* Adds parameterisation to docker_latest.yml to simplify testing
2024-07-08 13:23:36 -04:00
Leslie H
2750ed6bd9
Enable external contributors to create previews (#1068)
Reorganize preview workflows so that previews can be made for PRs from outside contributors.
2024-07-03 19:36:17 +00:00
Jordi Gutiérrez Hermoso
6e11e497bc workflows: Do not use ext/ director to run tests
We need this directory for building the image, but not for running the
tests outside of it.
2024-07-01 10:21:50 -04:00
Jordi Gutiérrez Hermoso
cefadc50c4 workflows: ensure we also use the experimental image we just built
I think without a tag it defaults to `latest`, which is not what we
want.
2024-06-27 16:22:25 -04:00
Jordi Gutiérrez Hermoso
1e5cc585a7 workflows: update the latest branch conditionally
Since we now run the build three times, we don't want to update the
latest branch unless all three builds complete successfully.
2024-06-27 16:22:25 -04:00
Jordi Gutiérrez Hermoso
40f7060ac5 workflows: fix syntax error
Oops, have to quote the string because of the colon
2024-06-26 15:28:26 -04:00
Jordi Gutiérrez Hermoso
8cd9e40744 README: Mention the two possible docker images 2024-06-26 15:19:06 -04:00
Jordi Gutiérrez Hermoso
70ed8553b3 workflows: build the grist-oss, grist, and grist-ee images
This modifies the workflow to build grist-ee images as well as grist,
which is the same image as grist-ee but merely renamed. The original
image built by these workflows is now called grist-oss.
2024-06-26 15:19:06 -04:00
Jordi Gutiérrez Hermoso
27c8a321df workflows: add a workflow to add issues to the self-hosted project
Based on instructions here:

https://github.com/actions/add-to-project

The idea is that anyone can tag an issue as self-hosting and if that's
so, it'll show up in the corresponding kanban.
2024-05-21 09:45:19 -04:00
Dmitry
a0b5ba9081
Move CONTRIBUTING.md to the repository's root to be more visible. (#940) 2024-04-18 11:41:30 -04:00
CamilleLegeron
fe9cc80ccc
Create team site for self-hosted instances (#903) 2024-04-15 00:55:57 -07:00
Florent
2693e01d08
Fix links in CONTRIBUTING.md (#879)
- the link to the translation guide was wrong
 - grist-help: redirect to the README file through the anchor so visitors may understand better why they land to this separate project.
2024-03-04 14:38:01 -05:00
Jonathan Perret
d8048c3998
Actually split :server:x-of-y: tests (#858)
The split-tests.js script did not do anything because the TEST_SPLITS
variable was empty, because the TESTS variable was not being initialized
from the matrix.tests value.

This resulted in the entire :server: test suite being run twice.
2024-02-19 10:45:32 -05:00
Paul Fitzpatrick
b2a22619a0
update node version used for generating translation keys (#794)
We now use a package that relies on node >= 18.
2023-12-18 10:15:02 -05:00
George Gevoian
0cadb93d25 (core) Update dependencies
Summary:
Changes the minimum version of Node to 18, and updates the Docker images and GitHub workflows to build Grist with Node 18.

Also updates various dependencies and scripts to support building running tests with arm64 builds of Node.

Test Plan: Existing tests.

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D3968
2023-10-11 17:36:58 -04:00
Jakub Serafin
cfc746d558 (core) fly.io version updated
Summary: fly.io made some breaking changes between so we need to bump up version from 1.16 to 1.18. Also, volumes cannot have name in more than 30 characters so i've introducent trimming mechanism for volume names

Test Plan: I've deployed preview with that settings and it went OK.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4033
2023-09-08 08:52:09 +02:00
Paul Fitzpatrick
8110a26873 (core) updates from grist-core 2023-08-01 10:52:34 -04:00
Jakub Serafin
e387c6cf2c (core) update fly.yml to use 0.1.66 version of flyctl and to use V2 of flydev (so no scaling of Nomad)
Test Plan: manually run github action on github to check if applciation is deploying and destroing afterwards

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3983
2023-08-01 11:30:10 +02:00
Alex Hall
7a6464ae5a
Run tests on Python 3.9, 3.10, and 3.11 in GHA (#597) 2023-07-29 00:24:09 +02:00
Paul Fitzpatrick
b0f76a152f
add more docker label choices (#570) 2023-07-12 22:31:00 +01:00
Paul Fitzpatrick
70935a4fa4
skip building test harness in docker image (#551)
A small test harness bundle was recently added that is breaking the docker image build. It could be added to the docker image, but that would introduce a bunch of extraneous test file dependencies. So this tweaks the build to simply skip the test bundle if its primary source file is not found.

Also added some other test fixes along the way:
  * make a custom widget test more reliable
  * update a localization test now that `pt` exists
  * store more log info in artifact on error
2023-06-30 05:50:40 -04:00
Paul Fitzpatrick
01069a69b0
adapt tests after switch to parallel runs (#547)
Some browser tests are now run in parallel. A few tests have become unreliable, and need a little love. Also, create and save mocha webdriver logs.
2023-06-28 17:17:14 -04:00
Paul Fitzpatrick
fc16b4c8f6 (core) updates from grist-core 2023-06-27 03:04:42 -04:00
Paul Fitzpatrick
bcbf57d590 (core) bump mocha version to allow parallel tests; move more tests to core
Summary:
This uses a newer version of mocha in grist-core so that tests can be run in parallel. That allows more tests to be moved without slowing things down overall. Tests moved are venerable browser tests; only the ones that "just work" or worked without too much trouble to are moved, in order to keep the diff from growing too large. Will wrestle with more in follow up.

Parallelism is at the file level, rather than the individual test.

The newer version of mocha isn't needed for grist-saas repo; tests are parallelized in our internal CI by other means. I've chosen to allocate files to workers in a cruder way than our internal CI, based on initial characters rather than an automated process. The automated process would need some reworking to be compatible with mocha running in parallel mode.

Test Plan: this diff was tested first on grist-core, then ported to grist-saas so saas repo history will correctly track history of moved files.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D3927
2023-06-27 02:55:34 -04:00
Dmitry S
331aa3152f (core) Fix flyctl cleanup; move/copy scripts to support preview deploys in grist-core
Summary:
- Fly flyctl cleanup which has been failing; deleting volumes before app no longer seems needed
- Move fly-deploy and add workflow scripts to make fly preview work in grist-core too

Test Plan: Tested that previews still work in this repo; and tested with a copy in grist-core.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D3928
2023-06-22 12:13:21 -04:00
Florent
6a2010f9f0
Add contribution guide #527 (#528)
Co-authored-by: Florent <florent.fayolle@beta.gouv.fr>
2023-06-14 10:43:11 -04:00
Dmitry
2d84579109
Create FUNDING.yml to enable "sponsor" button. (#451) 2023-03-04 17:12:37 -05:00
Paul Fitzpatrick
4be4acca6e
run grist-core test batches in parallel (#444)
This sets up a framework for running tests in parallel.
It increases the total time taken (since some steps are
repeated) but reduces the turn-around time significantly
overall.

The main objective is to make it possible to release more
test batches to grist-core without bringing CI to a crawl.

The clever little test/split-test.js script is from the
Grist Labs mono-repo and is Dmitry's work.

I considered doing the build in one job, and copying
it to test jobs, since it feels wasteful to repeat it.
That may be worth trying, especially if we start getting
jobs backing up (total concurrent Linux jobs on free plan
is quoted at 20).

It might also be worth looking at doing some tests in
parallel on the same worker, perhaps using the relatively
new MOCHA_WORKER_ID feature, since the tests are often not
actually CPU or I/O bound.
2023-03-03 09:53:33 -05:00
Paul Fitzpatrick
6476fc30b7 use node 14, and only run on gristlabs 2023-01-24 09:15:14 -05:00
Paul Fitzpatrick
7e6404cb67 introduce a workflow for keeping translation keys fresh 2023-01-23 18:39:48 -05:00
Jarosław Sadziński
b0555564ac Linting before build 2023-01-03 17:23:31 +01:00
Jarosław Sadziński
7ff2ca954c Adding eslint to github actions 2023-01-03 17:23:31 +01:00
Paul Fitzpatrick
103ebbb045
add MinIO tests (#381)
Extends workflow to test snapshots with minio.
2022-12-22 12:58:39 -05:00
George Gevoian
d69ac6a789 Run python tests during main workflow 2022-10-02 23:10:32 -07:00
Paul Fitzpatrick
c588d58959
use python3 for workflows (#267)
Use python3 for running tests. Grist has supported python3 for a while,
and is slowly slowly starting to inch away from python2 support. Grist
now needs python3 when doing imports, although python2 is still supported
for regular document operation.
2022-09-06 11:46:52 -04:00
Jarosław Sadziński
a44a59e591 Tweaking logging in github action and test_under_docker script 2022-08-10 14:16:27 +02:00
Jarosław Sadziński
c7a6784873 Removing grist logs from tests 2022-08-10 13:33:08 +02:00
George Gevoian
23cfe3bd67 (core) Add caching to Docker workflows
Summary:
Updates GitHub workflows to cache image builds. This should
speed up most builds.

Test Plan: Tested manually in fork of grist-core.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3363
2022-04-08 17:17:01 -07:00
George Gevoian
3482cd1045 Add support for arm64 Docker builds 2022-04-03 16:50:23 -07:00
Paul Fitzpatrick
24522e61ff
remove stray redis dependency, and upgrade node in tests (#173)
* remove stray redis dependency in test
* tweak handling of database connection between tests
* upgrade node versions in tests, type guessing in node 10 has problems
2022-03-28 15:43:47 -04:00
Paul Fitzpatrick
65ac8aaa85 (core) run test:docker target prior to pushing grist-core image
Summary:
This activates the new tests that can run on a grist-core image,
and will not push a new version to `latest` tag unless those tests
pass.

This also runs a smoke test in the regular CI tests, to confirm the
code continues to work without GRIST_TEST_LOGIN enabled.

Test Plan: tested on a fork of grist-core

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3186
2021-12-14 14:22:02 -05:00
Paul Fitzpatrick
482ce0e4c4 (core) correct docker image name from gristlabs/grist-core to gristlabs/grist
Summary: The docker image is "grist" not "grist-core"

Test Plan: tested on a fork

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3158
2021-11-29 17:48:54 -05:00
Paul Fitzpatrick
6e3ec298f2 (core) regularly freshen grist-core:latest docker image
Summary:
 * Keeps `grist-core:latest` docker image up to date with grist-core
   source, with a daily cron job.
 * Update yarn.lock file.
 * In passing, tag current version for a versioned release.

When a push to `main` branch passes tests, the result is placed in `latest_candidate` branch. The cron job will update docker up from `latest_candidate`, placing code used for image in `latest` branch.

Test Plan: tested in a grist-core fork

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3156
2021-11-29 14:06:05 -05:00