ansible-role-tripleo-modify.../tasks/modify_image.yml
Chandan Kumar b541c5ef99 Run all linters via pre-commit
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
2019-02-15 18:22:10 +05:30

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 }}"