diff --git a/ansible/roles/build-test-v8/meta/main.yml b/ansible/roles/build-test-v8/meta/main.yml index 8954ba896..7420e0c8b 100644 --- a/ansible/roles/build-test-v8/meta/main.yml +++ b/ansible/roles/build-test-v8/meta/main.yml @@ -2,12 +2,6 @@ # prebuilt binaries for x64 but for ppc64 and s390x we need to compile these # ourselves. dependencies: - - role: ninja - when: arch == 'ppc64' or arch == 's390x' - vars: - ninja_dest_dir: "{{ tools_dest_dir }}" - ninja_git_dir: "{{ tools_git_dir }}/ninja" - ninja_user: "{{ tools_user }}" - role: gn when: arch == 'ppc64' or arch == 's390x' vars: diff --git a/ansible/roles/build-test-v8/tasks/partials/rhel8-ppc64.yml b/ansible/roles/build-test-v8/tasks/partials/rhel8-ppc64.yml index f5cca303f..5cbc09563 100644 --- a/ansible/roles/build-test-v8/tasks/partials/rhel8-ppc64.yml +++ b/ansible/roles/build-test-v8/tasks/partials/rhel8-ppc64.yml @@ -4,10 +4,16 @@ # Install packages for V8 builds. # +# ninja-build on RHEL 8 is in the CodeReady Linux Builder repository. +- name: enable codeready-builder repository + community.general.rhsm_repository: + name: codeready-builder-for-rhel-8-ppc64le-rpms + state: enabled + # V8 builds still require Python 2. - name: install packages required to build V8 ansible.builtin.dnf: - name: ['glib2-devel', 'python2', 'python2-pip'] + name: ['glib2-devel', 'ninja-build', 'python2', 'python2-pip'] state: present notify: package updated diff --git a/ansible/roles/build-test-v8/tasks/partials/rhel8-s390x.yml b/ansible/roles/build-test-v8/tasks/partials/rhel8-s390x.yml index be0f8c7f1..984d10d59 100644 --- a/ansible/roles/build-test-v8/tasks/partials/rhel8-s390x.yml +++ b/ansible/roles/build-test-v8/tasks/partials/rhel8-s390x.yml @@ -4,10 +4,16 @@ # Install packages for V8 builds. # +# ninja-build on RHEL 8 is in the CodeReady Linux Builder repository. +- name: enable codeready-builder repository + community.general.rhsm_repository: + name: codeready-builder-for-rhel-8-s390x-rpms + state: enabled + # Older V8 builds still require Python 2. - name: install packages required to build V8 ansible.builtin.dnf: - name: ['GConf2-devel', 'python2', 'python2-pip'] + name: ['GConf2-devel', 'ninja-build', 'python2', 'python2-pip'] state: present notify: package updated diff --git a/ansible/roles/ninja/meta/argument_specs.yml b/ansible/roles/ninja/meta/argument_specs.yml deleted file mode 100644 index 4fcd01e59..000000000 --- a/ansible/roles/ninja/meta/argument_specs.yml +++ /dev/null @@ -1,17 +0,0 @@ -argument_specs: - main: - short_description: The main task for compiling ninja from source. - options: - ninja_dest_dir: - description: The location to place the symlink to the ninja binary. - required: yes - type: "str" - ninja_git_dir: - description: The location to put the git checkout. - required: yes - type: "str" - ninja_user: - default: "{{ server_user|default(omit) }}" - description: The user to install ninja under. - type: "str" - diff --git a/ansible/roles/ninja/tasks/main.yml b/ansible/roles/ninja/tasks/main.yml deleted file mode 100644 index a56ef75ad..000000000 --- a/ansible/roles/ninja/tasks/main.yml +++ /dev/null @@ -1,46 +0,0 @@ -- name: check existing ninja - ansible.builtin.command: "{{ ninja_dest_dir }}/ninja --version" - changed_when: no - failed_when: no - register: ninja_installed_version - -- name: get Ninja release information from GitHub - ansible.builtin.uri: - return_content: yes - url: https://api.github.com/repos/ninja-build/ninja/releases/latest - check_mode: no - register: ninja_latest - -# Tag in GitHub is prefixed with 'v' but the output from `ninja --version` is not. -- name: check if Ninja needs to be rebuilt - ansible.builtin.set_fact: - rebuild_ninja: "{{ not ninja_installed_version.stdout|default('') == ninja_latest.json.tag_name[1:] }}" - -- name: clone/update ninja-build repository - ansible.builtin.git: - dest: "{{ ninja_git_dir }}" - repo: https://github.com/ninja-build/ninja - version: "{{ ninja_latest.json.tag_name }}" - become: "{{ ninja_user|default(omit)|bool }}" - become_user: "{{ ninja_user|default(omit) }}" - when: rebuild_ninja - -- name: build Ninja - ansible.builtin.shell: | - python3 ./configure.py --bootstrap && \ - ./ninja ninja_test && ./ninja_test - args: - chdir: "{{ ninja_git_dir }}" - become: "{{ ninja_user|default(omit)|bool }}" - become_user: "{{ ninja_user|default(omit) }}" - when: rebuild_ninja - -- name: create symlink - ansible.builtin.file: - dest: "{{ ninja_dest_dir }}/ninja" - src: "{{ ninja_git_dir }}/ninja" - state: link - become: "{{ ninja_user|default(omit)|bool }}" - become_user: "{{ ninja_user|default(omit) }}" - when: rebuild_ninja -