1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-02-23 08:31:18 +00:00

Compare commits

..

24 Commits

Author SHA1 Message Date
Otthorn
3eed93e346 Remove unused file 2021-02-23 23:38:54 +01:00
Otthorn
4da523a1ba Merge branch 'faster_ci' of https://gitlab.crans.org/bde/nk20 into faster_ci 2021-02-23 23:38:26 +01:00
Otthorn
e74ff54468 please use the configuration I have written for hadolint 2021-02-23 22:23:16 +00:00
Otthorn
2e49c9ffbd Add CI docker linter for CI Dockerfiles 2021-02-23 22:23:16 +00:00
Otthorn
d20a1038a8 Add CI docker linter for nk20 Dockerfile 2021-02-23 22:23:16 +00:00
Otthorn
f6b711bb1b Add hadolint configuration file 2021-02-23 22:23:16 +00:00
Otthorn
893d87a9e1 Add ansible linting to the CI 2021-02-23 22:23:16 +00:00
Otthorn
9f3323c73e Add docker image for ansible lint to be used in CI 2021-02-23 22:23:16 +00:00
Otthorn
c57f81b920 Add skip list for ansible-lint 2021-02-23 22:23:16 +00:00
Otthorn
0636d84286 Add docker image for tox linting to be used in CI 2021-02-23 22:23:16 +00:00
Otthorn
ed06901fae fix typo (added image: twice) 2021-02-23 22:23:16 +00:00
Otthorn
28932f316b copy paste is a bad practice 2021-02-23 22:23:16 +00:00
Otthorn
9b50ba722c Add custom pre-built docker images to be used for the CI 2021-02-23 22:23:16 +00:00
Otthorn
3e3e61d23f Use prebuilt docker images in the CI 2021-02-23 22:23:16 +00:00
Otthorn
1129815ca3 please use the configuration I have written for hadolint 2021-02-23 23:22:51 +01:00
Otthorn
c13172d3ff Add CI docker linter for CI Dockerfiles 2021-02-23 23:14:35 +01:00
Otthorn
fcc4121225 Add CI docker linter for nk20 Dockerfile 2021-02-23 23:14:00 +01:00
Otthorn
a06f355559 Add hadolint configuration file 2021-02-23 23:10:30 +01:00
Otthorn
08df5fcccd Add ansible linting to the CI 2021-02-23 23:02:51 +01:00
Otthorn
b6c0f9758d Add docker image for ansible lint to be used in CI 2021-02-23 23:02:29 +01:00
Otthorn
a23093851f Add skip list for ansible-lint 2021-02-23 22:57:33 +01:00
d5a9bf175f
Add script to force delete a user, in case of duplicates
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-02-22 11:54:23 +01:00
Otthorn
d803ab5ec2 Add docker image for tox linting to be used in CI 2021-02-22 00:17:49 +01:00
b597a6ac5b
Fix soge credit deletion when the account is not validated yet
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-02-21 23:05:27 +01:00
10 changed files with 52 additions and 22 deletions

3
.ansible-lint Normal file
View File

@ -0,0 +1,3 @@
skip_list:
- command-instead-of-shell # Use shell only when shell functionality is required
- experimental # all rules tagged as experimental

View File

@ -36,6 +36,20 @@ linters:
# Be nice to new contributors, but please use `tox`
allow_failure: true
# Ansible linter
ansible-linter:
stage: quality-assurance
image: otthorn/nk20_ci_ansiblelint
script: ansible-lint ansible/
# Docker linter
docker-linter:
stage: quality-assurance
image: hadolint/hadolint
script:
- hadolint -c .hadolint Dockerfile
- hadolint -c .hadolint docker_ci/Dockerfile.*
# Compile documentation
documentation:
stage: docs

4
.hadolint Normal file
View File

@ -0,0 +1,4 @@
ignored:
- DL3008 # Do not force to pin version in apt (Debian)
- DL3013 # Do not force to pin version in pip (PyPI)
- DL3018 # Do not force to pin version in apk (Alpine)

View File

@ -223,7 +223,8 @@ class Transaction(PolymorphicModel):
# Check that the amounts stay between big integer bounds
diff_source, diff_dest = self.validate()
if not self.source.is_active or not self.destination.is_active:
if not (hasattr(self, '_force_save') and self._force_save) \
and (not self.source.is_active or not self.destination.is_active):
raise ValidationError(_("The transaction can't be saved since the source note "
"or the destination note is not active."))
@ -271,7 +272,7 @@ class RecurrentTransaction(Transaction):
)
def clean(self):
if self.template.destination != self.destination:
if self.template.destination != self.destination and not (hasattr(self, '_force_save') and self._force_save):
raise ValidationError(
_("The destination of this transaction must equal to the destination of the template."))
return super().clean()

View File

@ -43,4 +43,5 @@ def delete_transaction(instance, **_kwargs):
"""
if not hasattr(instance, "_no_signal"):
instance.valid = False
instance._force_save = True
instance.save()

@ -1 +1 @@
Subproject commit dbe7bf65917df40b0ce476f357d04726e20b406f
Subproject commit 8ec7d68a169c1072aec427925f3bf2fd54eab5a3

View File

@ -381,9 +381,14 @@ class SogeCredit(models.Model):
tr.valid = True
tr.created_at = timezone.now()
tr.save()
self.credit_transaction.valid = False
self.credit_transaction.reason += " (invalide)"
self.credit_transaction.save()
if self.credit_transaction:
# If the soge credit is deleted while the user is not validated yet,
# there is not credit transaction.
# There is a credit transaction iff the user declares that no bank account
# was opened after the validation of the account.
self.credit_transaction.valid = False
self.credit_transaction.reason += " (invalide)"
self.credit_transaction.save()
super().delete(**kwargs)
class Meta:

View File

@ -0,0 +1,10 @@
FROM python:3.9-alpine
LABEL maintainer="otthorn@crans.org"
LABEL description="Alpine image with ansible-lint and yamllint \
installed for linting purposes"
RUN apk add --no-cache gcc musl-dev python3-dev libffi-dev openssl-dev cargo
RUN pip install --no-cache-dir "yamllint>=1.26.0,<2.0"
RUN pip install --no-cache-dir "ansible-lint==5.0.0"
RUN pip install --no-cache-dir "ansible>=2.10,<2.11"

8
docker_ci/Dockerfile.tox Normal file
View File

@ -0,0 +1,8 @@
FROM alpine:3.13
LABEL maintainer="otthorn@crans.org"
LABEL description="Alpine image with tox \
installed for linting purposes"
RUN apk --no-cache add py3-pip=20.3.4-r0
RUN pip install --no-cache-dir tox==3.22.0

View File

@ -1,16 +0,0 @@
## TODO
- Créer les images
- Build les images
- Push les images sur la docker registery de mon choix (docker hub
probablement)
- Tester la CI avec les images pré construite pour voir tout fonctionnne comme
avant
- Créer une CI pour les images docker elle meme (hadolin)
- Créer une CI pour les images docker de la note
- Créer une CI pour ansible
- Créer la MR
- Demande de merge de la MR
## Optionnel
- build automatique des images par la CI
- utiliser le gitlab registery local une fois qu'il sera activé