1 | # RecSys
|
2 |
|
3 | ## Browser Compatibility
|
4 |
|
5 | O EOL das versões 8,9 e 10 do IE foi em 2016, portanto não há por que continuarmos dando suporte
|
6 | para browsers que já não recebem updates de segurança e não são mais indicados pelos próprios devs.
|
7 |
|
8 | Tendo isso em mente, o arquivo gerado segue a especificação do ES5, a risca. Utilizamos também
|
9 | polyfill para `Promise` e `fetch`, somente quando necessário.
|
10 |
|
11 | ## GitFlow
|
12 |
|
13 | Este projeto segue as prática de [GitFlow](https://jeffkreeftmeijer.com/git-flow/) usando a extensão [GitFlow AVH](https://github.com/petervanderdoes/gitflow-avh).
|
14 |
|
15 | ### Desenvolver uma atividade
|
16 |
|
17 | Para desenvolver uma atividade, é necessário criar um _feature branch_ filho de _develop_. No final, é necessário criar o commit, fazer o push e gerar o _merge request_ para _develop_.
|
18 |
|
19 | ```sh
|
20 | git checkout develop
|
21 | git pull origin develop
|
22 | git flow feature start user-report
|
23 | ```
|
24 |
|
25 | ```sh
|
26 | git commit -m "Added user report"
|
27 | git flow feature publish
|
28 | ```
|
29 |
|
30 | ### Corrigir um bug
|
31 |
|
32 | Para corrigir um bug, é necessário criar um _bugfix branch_ filho de _develop_. No final, é necessário criar o commit, fazer o push e gerar o _merge request_ para _develop_.
|
33 |
|
34 | ```sh
|
35 | git checkout develop
|
36 | git pull origin develop
|
37 | git flow bugfix start user-report
|
38 | ```
|
39 |
|
40 | ```sh
|
41 | git commit -m "Fix user report"
|
42 | git flow bugfix publish
|
43 | ```
|
44 |
|
45 | ### Corrigir um bug em produção
|
46 |
|
47 | Para corrigir um erro crítico, é necessário baixar a ultima versão do branch _master_, iniciar um hotfix do GitFlow, alterar o changelog, testar a versão e só então finalizar o hotfix.
|
48 |
|
49 | ```sh
|
50 | git checkout master
|
51 | git pull origin master
|
52 | git flow hotfix start v1.2.3
|
53 | git commit -m "Fixed null pointer"
|
54 | git commit -m "Updated changelog"
|
55 | git flow hotfix publish
|
56 | ```
|
57 |
|
58 | ```sh
|
59 | git flow hotfix finish
|
60 | git push origin master
|
61 | git push origin develop
|
62 | git push --tags
|
63 | ```
|
64 |
|
65 | ### Criar uma versão estável
|
66 |
|
67 | Para gerar uma versão, é necessário baixar a ultima versão do branch _develop_, iniciar um release do GitFlow, alterar o changelog, testar a versão e só então finalizar o release.
|
68 |
|
69 | ```sh
|
70 | git checkout develop
|
71 | git pull origin develop
|
72 | git flow release start v1.2.3
|
73 | git commit -m "Updated changelog"
|
74 | git flow release publish
|
75 | ```
|
76 |
|
77 | ```sh
|
78 | git flow release finish
|
79 | git push origin master
|
80 | git push origin develop
|
81 | git push --tags
|
82 | ```
|
83 |
|
84 | ### Code review
|
85 |
|
86 | Com o merge request aberto, basta fazer o code review pelo GitLab, checando se o código compila e se os testes estão passando. Depois de tudo certo, o merge pode ser feito para _develop_.
|
87 |
|
88 | > **É preferível marcar para fazer _squash_ dos commits e excluir o _feature branch_, mas _nunca_ fazer o merge no branch _master_.**
|
89 |
|
90 | ## Deploy (CI)
|
91 |
|
92 | TODO: Escrever documentação sobre o CI.
|