|
1 |
| -# Contributing to Polis |
| 1 | +# Contributing |
2 | 2 |
|
3 |
| -## Running E2E Tests |
| 3 | +Expect to see a Contributing Agreement here soon |
4 | 4 |
|
5 |
| -End-to-end (E2E) tests are tests that puppet a real browser to drive simulated user interactions on a functional copy of the website. |
6 |
| - |
7 |
| -Requirements: Docker & docker-compose installed locally. |
8 |
| - |
9 |
| -Though these tests are useful when developing new features on your own feature branch, |
10 |
| -it's first helpful to ensure you can run them against a known-good version of the application. |
11 |
| -The project builds [working docker container images nightly][nightlies], |
12 |
| -using the codebase on the mainline `dev` branch, |
13 |
| -so we'll pull and run those first. |
14 |
| - |
15 |
| - [nightlies]: https://hub.docker.com/u/polisdemo |
16 |
| - |
17 |
| -``` |
18 |
| -git clone https://github.com/compdemocracy/polis |
19 |
| -cd polis |
20 |
| -make pull |
21 |
| -make start |
22 |
| -``` |
23 |
| - |
24 |
| -You can confirm that this is running here: `http://127.0.0.1` |
25 |
| - |
26 |
| -Your local application is running inside Docker! Now, to prepare your Cypress testing environment: |
27 |
| - |
28 |
| -``` |
29 |
| -make e2e-install |
30 |
| -``` |
31 |
| - |
32 |
| -You can then run a minimal test suite with: |
33 |
| - |
34 |
| -``` |
35 |
| -make e2e-run-minimal |
36 |
| -``` |
37 |
| - |
38 |
| -You can also run a subset of tests (even just one) with: |
39 |
| - |
40 |
| -``` |
41 |
| -make e2e-run-subset TEST_FILTER=kitchensink |
42 |
| -``` |
43 |
| - |
44 |
| -If for whatever reason, Docker is serving your application from a remote IP or URL instead of `http://127.0.0.1`, then there are work-arounds: |
45 |
| - |
46 |
| -``` |
47 |
| -make e2e-run-minimal BASEURL=https://123.45.67.89.sslip.io |
48 |
| -make e2e-run-minimal BASEURL=https://mydomain.dev # Won't work right now |
49 |
| -``` |
50 |
| - |
51 |
| -(Specifically, [sslip.io](https://sslip.io) is a free third-party support service that allows any IP to "pretend" it's a domain. |
52 |
| -There is currently a hardcoded "allow list" in the codebase, |
53 |
| -that lets this service work in the "development mode" that our Docker environment currently uses.) |
54 |
| - |
55 |
| -Once you've confirmed that these work, you're good to make some changes and try testing your own version of the codebase. |
56 |
| -You'll need to rebuild the Docker containers locally, which can take more time than pulling pre-built ones like before. |
57 |
| - |
58 |
| -After ensuring you're back in the project root directory, run: |
59 |
| - |
60 |
| -``` |
61 |
| -make prepare-e2e |
62 |
| -make start-rebuild |
63 |
| -make e2e-run-standalone |
64 |
| -``` |
65 |
| - |
66 |
| -### Tests requiring third-party credentials |
67 |
| - |
68 |
| -Some of our E2E tests require third-party credentials, which are acquired as described here: |
69 |
| -- [Google Translate credentials](/docs/deployment.md#enabling-comment-translation) |
70 |
| - |
71 |
| -Once you have those credentials in place, you can run these specific tests via: |
72 |
| - |
73 |
| -``` |
74 |
| -make e2e-run-secret |
75 |
| -``` |
76 |
| - |
77 |
| -## :telephone_receiver: Open Calls |
78 |
| - |
79 |
| -:clock10: **When?** Every Saturday at 19:00 UTC (noon PT / 3pm ET / [your timezone][]) \ |
80 |
| -:raising_hand: **Where?** [`meet.jit.si/pol.is`](https://meet.jit.si/pol.is) (video chatroom) \ |
81 |
| -:pencil: **Call Notes**: [`bit.ly/polis-calls2`](https://bit.ly/polis-calls2) |
82 |
| - |
83 |
| - [your timezone]: https://www.worldtimebuddy.com/event?lid=100%2C8%2C1668341%2C5&h=100&sts=26493120&sln=19-20&a=show&euid=d53410dd-f948-c1a4-3dde-31ac0adf894d |
84 |
| - |
85 |
| -- We run **weekly** community calls, open to **anyone**. |
86 |
| -- We especially welcome **newcomers**, and contributors who are **under-represented in open source!** |
87 |
| -- If you can only drop by irregularly, then the **first call of the month is usually the most active**. |
88 |
| - |
89 |
| -## :muscle: How We Work |
90 |
| - |
91 |
| -- We're working on establishing our collaboration practices. Expect this section to be expanded very soon! |
0 commit comments