Repository navigation
Expand file tree
/
Copy path.gitignore
More file actions
70 lines (68 loc) · 3.45 KB
/
Copy path.gitignore
File metadata and controls
70 lines (68 loc) · 3.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# This directory is a **bench**, not an application: only the overlay is in the repository.
#
# An installed Magento distribution weighs 769 MB, 626 of them for `vendor/`. Once
# `vendor/` is excluded by the root `.gitignore`, there are still **10,178 files**
# that composer wrote — `dev/` alone brings 7,256. None of that is code of this
# repository, and tracking it would amount to versioning Mage-OS.
#
# So the rule is inverted: everything is ignored, and the overlay re-allows itself
# by name. A file composer adds tomorrow stays out without anyone having to think
# about it — which is what an exclusion list cannot do.
#
# What the overlay contains, and why it is in the repository:
# composer.json / composer.lock the path repositories towards src/, and the
# Mage-OS pin that makes the install reproducible
# compose.yaml MySQL, OpenSearch, Redis, Temporal, its UI
# check-php-extensions.sh what the host must have before trying
# auth.json.sample Mage-OS does not ask for one; the sample says
# what to put for a distribution that does
# .env.example the variables compose.yaml expects
# README.md how to bootstrap, and what it is pinned on
# probe-lock.php the §1.4 probe: is the lock shared between
# processes? It replays on another host, whose
# `lock.provider` may differ
# probe-queue.php the §1.3 probe: what does a consumer that dies
# in the middle of a message leave behind?
# probe-resume.php the §5.3 probe: does a command killed midway
# resume without charging the card again?
# probe-order.php the §5.2 probe: does a placed order start an
# execution on the cluster?
# probe-cases.php the observation screen probe: an execution that
# holds every case the page must know how to
# show — failure, timer, child, resume
# app/code/Gplanchat/DurableProbe the bench module. It carries the
# **demonstration** — `PlaceOrderWorkflow`,
# `durable:demo` — and the queue topics of the
# probes. None of that belongs in the published
# package: an integration module must not make a
# project carry workflows that are not its own.
#
# `sylius/` does the opposite — an exclusion list — because over there the
# application skeleton **is** project code: 220 files written here. Here there are
# six, and ten thousand that are not.
*
!.gitignore
!composer.json
!composer.lock
!compose.yaml
!check-php-extensions.sh
!auth.json.sample
!.env.example
!README.md
!probe-lock.php
!probe-queue.php
!probe-resume.php
!probe-order.php
!probe-cases.php
# The probe module, and it alone: `app/etc/env.php` and the rest of `app/`
# stay out. Every level re-allows itself, because `*` excludes at all of them.
!app/
!app/code/
!app/code/Gplanchat/
!app/code/Gplanchat/DurableProbe/
!app/code/Gplanchat/DurableProbe/**
# The conformance harness (#747): PHPUnit runs from the repository's own vendor/, so the bench
# adds no dependency.
!phpunit.xml.dist
!tests/
!tests/**