summaryrefslogtreecommitdiff
path: root/packaging/release/release.yml
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/release/release.yml')
-rw-r--r--packaging/release/release.yml210
1 files changed, 0 insertions, 210 deletions
diff --git a/packaging/release/release.yml b/packaging/release/release.yml
deleted file mode 100644
index 2f00f03d68..0000000000
--- a/packaging/release/release.yml
+++ /dev/null
@@ -1,210 +0,0 @@
-- hosts: localhost
- gather_facts: no
- vars_files:
- - vars/versions.yml
- vars:
- release_dir: "./ansible_release"
- release_date: "{{lookup('pipe', 'date +\"%m-%d-%Y\"')}}"
- rpm_spec_line: |
-
- * {{lookup('pipe', 'date +"%a %b %d %Y"')}} Ansible, Inc. <info@ansible.com> - {{ansible_release_version}}-{{ansible_release_string}}
- - Release {{ansible_release_version}}-{{ansible_release_string}}
- deb_changelog_line: |
-
- ansible ({{ansible_release_version}}) unstable; urgency=low
-
- * {{ansible_release_version}}
-
- -- Ansible, Inc. <info@ansible.com> {{lookup('pipe', 'date -R')}}
-
- vars_prompt:
- - name: ansible_release_branch
- prompt: "Enter the release branch"
- private: no
- - name: ansible_release_version
- prompt: "Enter the release version"
- private: no
- - name: ansible_release_string
- prompt: "Enter the release string (ie. 0.1.beta1, or just 1 for final releases)"
- private: no
- #- name: ansible_release_codename
- # prompt: "Enter the release code name (only used if doing a final release)"
- # default: ""
- # private: no
- - name: has_submodules
- prompt: "Does this branch have git submodules?"
- default: "no"
- private: no
- - name: is_final
- prompt: "Is this a final release (not a beta/rc)?"
- default: "no"
- private: no
- - name: do_push
- prompt: "Push repositories upstream when done?"
- default: "no"
- private: no
- tasks:
- - pause:
- prompt: "Has the CHANGELOG.md, versions.yml, release_and_maintenance.rst, and any other files been updated and are ready to go?"
- when: is_final|bool
-
- - name: create a combined version string from the specified values
- set_fact:
- new_version: "v{{ansible_release_version}}-{{ansible_release_string}}"
-
- - name: assert certain variables are defined
- assert:
- that:
- - ansible_release_branch is defined
- - ansible_release_version is defined
- - ansible_release_string is defined
-
- - name: Remove ansible_release (if it exists)
- file:
- path: "{{release_dir}}/"
- state: absent
-
- - name: Clone the official repo
- git:
- #repo: "git@github.com:ansible/ansible.git"
- repo: "https://github.com/ansible/ansible.git"
- dest: "{{release_dir}}"
- version: "{{ansible_release_branch}}"
- recursive: yes
-
- - name: get the latest version
- shell:
- _raw_params: git tag | tail -1
- chdir: "{{release_dir}}"
- register: latest_version
-
- - name: "assert the specified version ({{new_version}}) is greater than the latest version ({{latest_version.stdout}})"
- assert:
- that:
- - new_version is version(latest_version.stdout, "gt")
- ignore_errors: yes
-
- - name: Update the VERSION file for the main repo
- copy:
- dest: "{{release_dir}}/VERSION"
- content: "{{ansible_release_version}} {{ansible_release_string}}\n"
-
- - name: Update the library version
- lineinfile:
- dest: "{{release_dir}}/lib/ansible/release.py"
- regexp: "^__version__ ="
- line: "__version__ = '{{ansible_release_version}}'"
-
- - block:
- - name: Update the spec file release list
- lineinfile:
- dest: "{{release_dir}}/packaging/rpm/ansible.spec"
- regexp: "^- Release {{ansible_release_version}}-{{ansible_release_string}}"
- line: "{{rpm_spec_line.rstrip()}}"
- insertafter: "^%changelog"
- - name: Update the deb changelog file
- lineinfile:
- dest: "{{release_dir}}/packaging/debian/changelog"
- regexp: "^ansible ({{ansible_release_version}})"
- line: "{{deb_changelog_line}}"
- insertafter: "-- Ansible, Inc. <info@ansible.com> %DATE%"
- - name: Update RELEASES.txt
- template:
- dest: "{{release_dir}}/RELEASES.txt"
- src: "templates/RELEASES.tmpl"
- when: is_final|bool
-
- - name: "Make sure modules are checked out to {{ansible_release_branch}}"
- shell:
- _raw_params: "git checkout {{ansible_release_branch}}"
- chdir: "{{release_dir}}/lib/ansible/modules/{{item}}/"
- with_items:
- - core
- - extras
- when: has_submodules|bool
-
- - name: Update the VERSION file for the modules
- copy:
- dest: "{{release_dir}}/lib/ansible/modules/{{item}}/VERSION"
- content: "{{ansible_release_version}} {{ansible_release_string}}\n"
- with_items:
- - core
- - extras
- when: has_submodules|bool
-
- - name: Add and commit the updated files for the core modules
- shell:
- _raw_params: "git add ./ && git commit -m 'New release {{new_version}}'"
- chdir: "{{release_dir}}/lib/ansible/modules/{{item}}/"
- with_items:
- - core
- - extras
- when: has_submodules|bool
-
- - name: Add and commit the updated files for the main repo
- shell:
- _raw_params: "git add ./ && git commit -m 'New release {{new_version}}'"
- chdir: "{{release_dir}}/"
-
- - name: Tag the release
- shell:
- _raw_params: "git tag -fa {{new_version}} -m 'New release {{new_version}}'"
- chdir: "{{release_dir}}/"
-
- - name: update git config for the main repo
- lineinfile:
- dest: "{{release_dir}}/.git/config"
- regexp: "upstream"
- line: |
- [remote "upstream"]
- url = git@github.com:ansible/ansible.git
- fetch = +refs/heads/*:refs/remotes/origin/*
-
- - name: update git config for submodules
- lineinfile:
- dest: "{{release_dir}}/.git/modules/lib/ansible/modules/{{item}}/config"
- regexp: "submodule_upstream"
- line: |
- [remote "submodule_upstream"]
- url = git@github.com:ansible/ansible-modules-{{item}}.git
- fetch = +refs/heads/*:refs/remotes/origin/*
- with_items:
- - core
- - extras
- when: has_submodules|bool
-
- - name: create the dist tar.gz
- command:
- _raw_params: make sdist
- chdir: "{{release_dir}}/"
- environment:
- OFFICIAL: yes
-
- - name: rename the dist tar.gz to include the full release
- command:
- _raw_params: "mv dist/ansible-{{ansible_release_version}}.tar.gz dist/ansible-{{ansible_release_version}}-{{ansible_release_string}}.tar.gz"
- chdir: "{{release_dir}}/"
-
- - name: generate the SHA file for the tar.gz
- shell:
- _raw_params: "sha256sum dist/ansible-{{ansible_release_version}}-{{ansible_release_string}}.tar.gz > dist/ansible-{{ansible_release_version}}-{{ansible_release_string}}.tar.gz.sha"
- chdir: "{{release_dir}}/"
-
- - block:
- - pause:
- prompt: "Ready to push, this is the last chance to abort..."
-
- - name: Push the submodule repos
- shell:
- _raw_params: "git push submodule_upstream {{ansible_release_branch}}"
- chdir: "{{release_dir}}/lib/ansible/modules/{{item}}/"
- with_items:
- - core
- - extras
- when: has_submodules|bool
-
- - name: Push the updates and/or tag
- shell:
- _raw_params: "git push --tags upstream {{ansible_release_branch}}"
- chdir: "{{release_dir}}/lib/ansible/modules/{{item}}/"
- when: do_push|bool