diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..3042de1 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,31 @@ +--- +kind: pipeline +type: docker +name: pull_request +image_pull_secrets: + - dockerconfigjson + +steps: + - name: lint yaml + image: registry.fedy95.com/baseimage-yamllint:latest + commands: + - yamllint -c /yamllint/relaxed.yaml group_vars/all.yml + - yamllint -c /yamllint/relaxed.yaml roles/common/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/docker/defaults/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/docker/handlers/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/docker/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/docker/vars/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/firefox/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/ide_goland/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/ide_goland/vars/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/ide_phpstorm/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/ide_phpstorm/vars/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/krdc/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/materia-kde/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/telegram/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml roles/typeface/tasks/main.yml + - yamllint -c /yamllint/relaxed.yaml .drone.yml + - yamllint -c /yamllint/relaxed.yaml ansible-desktop.yml + when: + event: pull_request +... diff --git a/Makefile b/Makefile index 5353fca..a9ba300 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,33 @@ MAKEFLAGS += --silent - .PHONY: * +REGISTRY=registry.fedy95.com +YAMLLINT_TAG=baseimage-yamllint:latest + +lint: lint-yaml + +LINT-YAML-CMD=docker run --rm -it -v $(PWD):/data ${REGISTRY}/${YAMLLINT_TAG} +lint-yaml: + docker pull ${REGISTRY}/${YAMLLINT_TAG} + $(LINT-YAML-CMD) group_vars/all.yml + $(LINT-YAML-CMD) roles/common/tasks/main.yml + $(LINT-YAML-CMD) roles/docker/defaults/main.yml + $(LINT-YAML-CMD) roles/docker/handlers/main.yml + $(LINT-YAML-CMD) roles/docker/tasks/main.yml + $(LINT-YAML-CMD) roles/docker/vars/main.yml + $(LINT-YAML-CMD) roles/firefox/tasks/main.yml + $(LINT-YAML-CMD) roles/ide_goland/tasks/main.yml + $(LINT-YAML-CMD) roles/ide_goland/vars/main.yml + $(LINT-YAML-CMD) roles/ide_phpstorm/tasks/main.yml + $(LINT-YAML-CMD) roles/ide_phpstorm/vars/main.yml + $(LINT-YAML-CMD) roles/krdc/tasks/main.yml + $(LINT-YAML-CMD) roles/materia-kde/tasks/main.yml + $(LINT-YAML-CMD) roles/telegram/tasks/main.yml + $(LINT-YAML-CMD) roles/typeface/tasks/main.yml + $(LINT-YAML-CMD) .drone.yml + $(LINT-YAML-CMD) ansible-desktop.yml + run: ansible-playbook ansible-desktop.yml --ask-become-pass -.DEFAULT_GOAL := run +.DEFAULT_GOAL := lint diff --git a/ansible-desktop.yml b/ansible-desktop.yml index a9f7476..e70b58d 100644 --- a/ansible-desktop.yml +++ b/ansible-desktop.yml @@ -1,5 +1,4 @@ --- - - name: Base playbook hosts: localhost roles: @@ -12,3 +11,4 @@ # - { role: materia-kde, become: true } # https://github.com/PapirusDevelopmentTeam/materia-kde - { role: telegram, become: true } - { role: typeface, become: true } +... diff --git a/group_vars/all.yml b/group_vars/all.yml index 9e07aa7..dcd29cb 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -1,7 +1,7 @@ --- - # http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable aptcachetime: 3600 locale: "en_US.UTF-8" timezone: "Europe/Moscow" lsb_release: 'focal' +... diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 036c56b..3d2bfbe 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Ensure the system can use the HTTPS transport for APT stat: path=/usr/lib/apt/methods/https register: apt_https_transport @@ -54,3 +53,4 @@ state: directory become: yes become_user: fedy95 +... diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 6150035..7f6eb16 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -1,5 +1,5 @@ --- - docker: start: false service_enabled: no +... diff --git a/roles/docker/handlers/main.yml b/roles/docker/handlers/main.yml index e070c2c..c68a8b9 100644 --- a/roles/docker/handlers/main.yml +++ b/roles/docker/handlers/main.yml @@ -1,4 +1,4 @@ --- - - name: Restart Docker service: name=docker state=restarted +... diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 41d11ce..3b12e86 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Test if folder exist stat: path: "{{ docker_compose_bin }}" @@ -38,7 +37,7 @@ #- name: Add deb repository # apt_repository: # repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu groovy stable -# update_cache: yes +# update_cache: yes # state: present # when: docker_compose_bin_exist.stat.exists == False @@ -74,3 +73,4 @@ - name: Upgrade installed packages apt: upgrade=yes when: docker_compose_bin_exist.stat.exists == False +... diff --git a/roles/docker/vars/main.yml b/roles/docker/vars/main.yml index d1dc7dc..378227c 100644 --- a/roles/docker/vars/main.yml +++ b/roles/docker/vars/main.yml @@ -1,4 +1,4 @@ --- - docker_compose_bin: "/usr/local/bin/docker-compose" docker_compose_version: "1.27.4" +... diff --git a/roles/firefox/tasks/main.yml b/roles/firefox/tasks/main.yml index b1ac93b..2b4b853 100644 --- a/roles/firefox/tasks/main.yml +++ b/roles/firefox/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Install Firefox apt: pkg: firefox @@ -9,3 +8,4 @@ - name: Upgrade installed packages apt: upgrade=yes +... diff --git a/roles/ide_goland/tasks/main.yml b/roles/ide_goland/tasks/main.yml index c81b811..b1650dc 100644 --- a/roles/ide_goland/tasks/main.yml +++ b/roles/ide_goland/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Check opt artifacts exist stat: path: "/opt/goland-{{ goland_version }}" @@ -44,3 +43,4 @@ - name: Init start (Create Desktop Entry) command: sh {{ goland_bin }} when: goland_bin_flag.stat.exists == False +... diff --git a/roles/ide_goland/vars/main.yml b/roles/ide_goland/vars/main.yml index 2e069d2..f8b1894 100644 --- a/roles/ide_goland/vars/main.yml +++ b/roles/ide_goland/vars/main.yml @@ -1,4 +1,4 @@ --- - goland_bin: "/usr/local/bin/goland" goland_version: "2020.3.3" +... diff --git a/roles/ide_phpstorm/tasks/main.yml b/roles/ide_phpstorm/tasks/main.yml index 8b3732b..199676f 100644 --- a/roles/ide_phpstorm/tasks/main.yml +++ b/roles/ide_phpstorm/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Check opt artifacts exist stat: path: "/opt/phpstorm-{{ phpstorm_version }}" @@ -44,3 +43,4 @@ - name: Init start (Create Desktop Entry) command: sh {{ phpstorm_bin }} when: phpstorm_bin_flag.stat.exists == False +... diff --git a/roles/ide_phpstorm/vars/main.yml b/roles/ide_phpstorm/vars/main.yml index 06144da..1bb05f5 100644 --- a/roles/ide_phpstorm/vars/main.yml +++ b/roles/ide_phpstorm/vars/main.yml @@ -1,4 +1,4 @@ --- - phpstorm_bin: "/usr/local/bin/phpstorm" phpstorm_version: "2020.3.2" +... diff --git a/roles/krdc/tasks/main.yml b/roles/krdc/tasks/main.yml index 530dbb6..973dead 100644 --- a/roles/krdc/tasks/main.yml +++ b/roles/krdc/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Install KRDC apt: pkg: krdc @@ -9,3 +8,4 @@ - name: Upgrade installed packages apt: upgrade=yes +... diff --git a/roles/materia-kde/tasks/main.yml b/roles/materia-kde/tasks/main.yml index 1ed14a2..b814611 100644 --- a/roles/materia-kde/tasks/main.yml +++ b/roles/materia-kde/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Update apt cache apt: update_cache: yes @@ -27,3 +26,4 @@ command: "lookandfeeltool -a com.github.varlesh.materia-dark" become: true become_user: "{{ ansible_env.USER }}" +... diff --git a/roles/telegram/tasks/main.yml b/roles/telegram/tasks/main.yml index 93f16a8..ff95f22 100644 --- a/roles/telegram/tasks/main.yml +++ b/roles/telegram/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Install Telegram apt: pkg: telegram-desktop @@ -9,3 +8,4 @@ - name: Upgrade installed packages apt: upgrade=yes +... diff --git a/roles/typeface/tasks/main.yml b/roles/typeface/tasks/main.yml index fb3a7b3..930da7a 100644 --- a/roles/typeface/tasks/main.yml +++ b/roles/typeface/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: Download typeface get_url: url: https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh @@ -15,3 +14,4 @@ - name: Remove script typeface shell: rm -r /opt/install_manual.sh +...