zuul-jobs/roles/upload-puppetforge/tasks/main.yaml

53 lines
1.3 KiB
YAML

- name: Install ruby dependencies on RedHat/Suse based
package:
name:
- ruby-devel
- gcc-c++
- make
state: present
become: yes
when: ansible_os_family == "RedHat" or ansible_os_family == "Suse"
- name: Install ruby dependencies on Debian based
package:
name:
- ruby-dev
- g++
- make
state: present
become: yes
when: ansible_os_family == "Debian"
- name: Install required gems
gem:
name: "{{ item }}"
user_install: no
with_items:
- rake
- puppetlabs_spec_helper
- puppet-blacksmith
become: yes
# NOTE(tobias.urdin): The build task is needed because puppet-blacksmith
# doesn't provide a build task so it fails, we don't need one anyway since
# we have already built the module before this role is called.
- name: Install new Rakefile
copy:
content: |
namespace 'module' do
task 'build' do
end
end
require 'puppet_blacksmith/rake_tasks'
dest: "{{ puppet_module_dir }}/Rakefile"
- name: Publish puppet module
command: "rake module:push"
args:
chdir: "{{ puppet_module_dir }}"
environment:
BLACKSMITH_FORGE_URL: "{{ blacksmith_forge_url }}"
BLACKSMITH_FORGE_USERNAME: "{{ blacksmith_forge_username }}"
BLACKSMITH_FORGE_PASSWORD: "{{ blacksmith_forge_password }}"