35 Commits

Author SHA1 Message Date
roschaefer
7457e677b2 Hope to fix our deployment with explicit bash
We should have been wary after seeing the version tags in the same loop as the
`latest` tag.
2019-12-10 16:10:54 +01:00
roschaefer
825ad6d266 Fix cypress tests
Since `dotenv` in the backend now loads configuration from a file
relative to the current file, we don't have to duplicate the neo4j
configuration settings here.
2019-12-05 21:00:24 +01:00
roschaefer
7c6d5b5129 fix: Re-enable webfinger feature
Ok, so here is the plan. Let's give both our cucumber features and your
cypress tests a prominent place to live. That would be the root level
folder of our application. Second, let's revive formerly dead code step
by step.

Ie. move code from the former location `backend/features/` to `features/`
when it is ready. All edge cases should be tested with unit tests in
`backend/`, see my `webfinger.spec.js` as an example.
2019-12-02 17:31:56 +01:00
roschaefer
c35df53fdc build: record and publish all cypress test results 2019-11-18 18:32:33 +01:00
aonomike
c1938bacbf Remove graphql-requests
- Remove package-lock.json because we are using yarn
- Remove every instance of graphql-requests as the backend doesnt use it anymore
- Remove graphql-request dependancy from the backend
- Update scripts for running tests in package.json and remove the unused scripts
- Update travis.yml to run the new test scripts
2019-11-06 21:42:34 +03:00
roschaefer
1273d5f2b5 Implement automatic Github releases
I hope this will create a git tag and upload a release for us.
2019-09-13 03:04:19 +02:00
roschaefer
bc153ee42e Synchronize dockerfiles, fix cypress
.. make tippy.js a production dependency (was throwing errors on my
machine).
2019-09-12 12:16:20 +02:00
roschaefer
10418f061b Various changes to build pipeline
* Use `production` docker images for cypress tests. As one of our contributors
pointed out: It is bad practice to end-to-end test sth. else than the actual
production images.
* Have a dedicated `docker-compose.travis-integration.yml` to test
backend integration tests. The backend *needs* a database when doing
integration tests. So there is no way around using docker-compose. But
we could stop using the `build-and-test` stage when we do cypress tests.
* Remove a couple of unused ports and DRY `docker-compose.override.yml`
* Build and tag all images first and then run `docker-compose .. up` - I
hope this will not rebuild the image.
* Reduce docker image size
2019-09-12 00:29:36 +02:00
roschaefer
f464ee93e0 Setup database on Travis CI 2019-08-25 13:03:46 +02:00
ogerly
a2993e4a52 seed first and then reset 2019-08-02 16:22:51 +02:00
Robert Schäfer
5bde0ab036 No global codecov install, less verbose CI output 2019-07-14 01:45:38 +02:00
Robert Schäfer
10ae4abaae Use neode to bring User mutations under control
This commit takes all backend changes for signup and invite feature. I
was working on these features and removed the generated mutations for
type user along the way.
2019-07-03 15:58:42 +02:00
Robert Schäfer
0fc7061333 Disable broken cucumber tests for now
@Mastercuber the justification for simply disabling the tests is that
the entire implemntation for the follow activities is wrong. It's still
using the `AddUserFollowedBy` auto-generated mutation. The mutation that
is actually used when you do a follow or unfollow are called `follow`
and `unfollow` - these are custom mutations implemented by ourselves.

So the proper fix for these tests would be to refactor the entire
ActivityPub implementation. Since there is a pending PR already I
decided not to go down the rabbit hole and simply tag the failing
sceario as "work-in-progress" (@wip).
2019-06-14 11:33:32 +02:00
Matt Rider
71c1b5bde9 Revert changes to cypress record 2019-06-13 16:22:59 -03:00
Robert Schäfer
c37f35a7da Fix #470
Define env variables $BRANCH and $CYPRESS_RETRIES

Source: https://graysonkoonce.com/getting-the-current-branch-name-during-a-pull-request-in-travis-ci/

------

Cypress is looking for a env var by default. See: https://docs.cypress.io/guides/guides/command-line.html#cypress-run

So I guess, all what we have to do is to give the env var another name.
I also added a measure to avoid running out of quota: Disable recording
if dependabot just updates dependencies.
2019-06-12 23:09:13 +02:00
Robert Schäfer
04b97009ae Bring back the wait-on for a more reliable build 2019-06-05 01:03:47 +02:00
Robert Schäfer
63697f5e27 Remove obsolete commands on Travis 2019-06-05 00:26:00 +02:00
Robert Schäfer
13c87ae889 Run coverage only if requested
I find it annoying to wait for code coverage tools to complete (~3
seconds) and especially to scroll up for every test run. So, this should
run coverage only on our build server *or* if you add `--coverage` on
the command line.
2019-05-28 18:27:52 +02:00
e2d2236c1a
add volumes to docker-compose.travis.yml, modified .travis.yml for codecov upload 2019-05-08 14:08:20 +02:00
Robert Schäfer
a1b74bef00 Configure 1 retry on Travis 2019-05-07 00:51:18 +02:00
Robert Schäfer
989fc018cf Disable cypress test recordings
Because of: https://github.com/Human-Connection/Human-Connection/issues/470
2019-04-15 17:47:02 +02:00
Robert Schäfer
262655a1d8 Another try to setup doctl with the right version 2019-04-04 15:11:36 +02:00
Robert Schäfer
923d106c23 Does --classic install a newer version of doctl? 2019-04-04 15:03:11 +02:00
Robert Schäfer
e899a91469 Create missing .kube/ directory 2019-04-04 13:41:03 +02:00
Robert Schäfer
a52213fb72
Merge branch 'master' into 338-fix_flaky_cucumbers 2019-04-04 10:57:27 +02:00
Robert Schäfer
335d2cf1d6 Install kubectl via snap 2019-04-03 21:34:07 +02:00
Robert Schäfer
bd6ddff613 Install libgconf on Travis CI 2019-04-03 20:01:02 +02:00
Robert Schäfer
2dc5252f38 Install everything on Travis CI through snap
This commit should setup kubectl in a way that it downloads a recent
`kubeconfig` from Digitial Ocean with `doctl`. Thus, deployments will
not fail after a kubeconfig has expired.

Since it seems to be the recommended way to install `doctl` through
[Snap](https://snapcraft.io/). I decided to install everything else
through snap too, including chrome and docker.
2019-04-03 18:28:50 +02:00
Robert Schäfer
5f684479f0 Remove nyc altogether - it does not anyways 2019-04-03 18:25:19 +02:00
Robert Schäfer
9663b23553 Add convenience package.json script for cypress
This
* removes unnecessary backend server on :4001 (there is already one
running at :4000)
* allows to run `yarn run cypress:setup` independent of backend servers
2019-04-03 17:03:46 +02:00
Robert Schäfer
1daaf28a5e Remove --verbose on Travis CI 2019-03-27 11:51:22 +01:00
Robert Schäfer
58c3986e51 Setup kubectl once 2019-03-22 00:25:33 +01:00
Robert Schäfer
cad486c9cf Fix mkdir 2019-03-22 00:12:13 +01:00
Robert Schäfer
f102046ffc Install kubectl and deploy 2019-03-21 22:34:37 +01:00
Robert Schäfer
44d1265681 Restructure for monorepo 2019-03-21 02:11:35 +01:00