b541c5ef99
Executes all linters via pre-commit, which is much faster, guarantees their version locking and allows upgrading them with a single command. Before this change the only linter running via pre-commit was ansible-lint. Now we also run bashate, flake8 and yamllint via pre-commit. For developer convenience we still keep the old tox environments which allow running a single linter. Added long_description_content_type to fix twine check failure Change-Id: I037eae61921b2a84aa99838804f70e96ee8d8b13
44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
---
|
|
- import_tasks: precheck.yml
|
|
tags:
|
|
- always
|
|
|
|
- name: Ensure that modify_dir_path is defined
|
|
assert:
|
|
that:
|
|
- modify_dir_path is defined
|
|
- modify_dir_path | length > 0
|
|
|
|
- name: Create Dockerfile tempfile name
|
|
tempfile:
|
|
path: "{{ modify_dir_path }}"
|
|
prefix: Dockerfile.
|
|
register: dockerfile
|
|
|
|
- name: Copy Dockerfile to {{ dockerfile.path }}
|
|
copy:
|
|
src: "{{ modify_dir_path }}/Dockerfile"
|
|
dest: "{{ dockerfile.path }}"
|
|
|
|
- name: Replace FROM directive
|
|
lineinfile:
|
|
path: "{{ dockerfile.path }}"
|
|
regexp: "^FROM "
|
|
line: "FROM {{ source_image }}"
|
|
|
|
- name: Add LABEL modified_append_tag={{ modified_append_tag }}
|
|
lineinfile:
|
|
path: "{{ dockerfile.path }}"
|
|
insertafter: "^FROM "
|
|
line: "LABEL modified_append_tag={{ modified_append_tag }}"
|
|
|
|
- name: Modify image from {{ modify_dir_path }}
|
|
command: |
|
|
{{ build_commands[container_build_tool] }} \
|
|
--tag {{ target_image | default(source_image) }}{{ modified_append_tag }} \
|
|
--file {{ dockerfile.path }} --network host ./
|
|
# FIXME: buildah should not required root commands to build an image
|
|
become: "{{ true if build_commands[container_build_tool] == 'buildah' else false }}"
|
|
args:
|
|
chdir: "{{ modify_dir_path }}"
|