summaryrefslogtreecommitdiff
path: root/packaging/release
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2016-07-07 09:45:36 -0400
committerBrian Coca <brian.coca+git@gmail.com>2016-07-07 09:45:36 -0400
commit940533762df2f7aabc41f205b8e223f9b6f1b35b (patch)
treeea9d421efcd551f01b203af7217f194eb79f22da /packaging/release
parent729686a434094d23ecd3fe81c0443059db073817 (diff)
downloadansible-940533762df2f7aabc41f205b8e223f9b6f1b35b.tar.gz
reorganized release playbook
moved versions into it's own file to keep the main play more readable
Diffstat (limited to 'packaging/release')
-rw-r--r--packaging/release/release.yml172
-rw-r--r--packaging/release/vars/versions.yml135
2 files changed, 307 insertions, 0 deletions
diff --git a/packaging/release/release.yml b/packaging/release/release.yml
new file mode 100644
index 0000000000..49de59fd4f
--- /dev/null
+++ b/packaging/release/release.yml
@@ -0,0 +1,172 @@
+- hosts: localhost
+ gather_facts: no
+ vars_files:
+ - 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. <support@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. <support@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: 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:
+ - 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"
+ 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|version_compare(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. <support@ansible.com> %DATE%"
+ #- name: Update RELEASES.txt
+ # lineinfile:
+ # dest: "{{release_dir}}/RELEASES.txt"
+ # regexp: "^{{ansible_release_version}}"
+ # line: '{{ansible_release_version}} "{{ansible_release_codename}}" {{release_date}}'
+ # insertafter: ""
+ 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
+
+ - 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
+
+ - 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
+
+ - 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 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
+
+ - 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
+
+ - name: Push the updates and/or tag
+ shell:
+ _raw_params: "git push --tags origin {{ansible_release_branch}}"
+ chdir: "{{release_dir}}/lib/ansible/modules/{{item}}/"
+ when: do_push|bool
diff --git a/packaging/release/vars/versions.yml b/packaging/release/vars/versions.yml
new file mode 100644
index 0000000000..f283dd3337
--- /dev/null
+++ b/packaging/release/vars/versions.yml
@@ -0,0 +1,135 @@
+versions:
+ - 2.2:
+ code_name: "TBD"
+ releases:
+ - 0: ""
+ - 2.1:
+ code_name: "The Song Remains the Same"
+ releases:
+ - 0: "05-25-2016"
+ - 2.0:
+ code_name: "Over the Hills and Far Away"
+ releases:
+ - 2: "04-19-2016"
+ - 1: "02-24-2016"
+ - 0: "01-12-2016"
+ - 1.9:
+ code_name: "Dancing In the Streets"
+ releases:
+ - 6: "04-15-2016"
+ - 5: "03-21-2016"
+ - 4: "10-09-2015"
+ - 3: "09-03-2015"
+ - 2: "06-24-2015"
+ - 1: "04-27-2015"
+ - 0: "03-25-2015"
+ - 1.8:
+ code_name: "You Really Got Me"
+ releases:
+ - 4: "02-19-2015"
+ - 3: "02-17-2015"
+ - 2: "12-04-2014"
+ - 1: "11-26-2014"
+ - 0: "?"
+ - 1.7:
+ code_name: "Summer Nights"
+ releases:
+ - 2: "09-24-2014"
+ - 1: "08-14-2014"
+ - 0: "08-06-2014"
+ - 1.6:
+ code_name: "The Cradle Will Rock"
+ releases:
+ - 10: "07-25-2014"
+ - 9: "07-24-2014"
+ - 8: "07-22-2014"
+ - 7: "07-21-2014"
+ - 6: "07-01-2014"
+ - 5: "06-25-2014"
+ - 4: "06-25-2014"
+ - 3: "06-09-2014"
+ - 2: "05-23-2014"
+ - 1: "05-07-2014"
+ - 0: "05-05-2014"
+ - 1.5:
+ code_name: "Love Walks In"
+ releases:
+ - 5: "04-18-2014"
+ - 4: "04-01-2014"
+ - 3: "03-13-2014"
+ - 2: "03-11-2014"
+ - 1: "03-10-2014"
+ - 0: "02-28-2014"
+ - 1.4:
+ code_name: "Could This Be Magic?"
+ releases:
+ - 5: "02-12-2014"
+ - 4: "01-06-2014"
+ - 3: "12-20-2013"
+ - 2: "12-18-2013"
+ - 1: "11-27-2013"
+ - 0: "11-21-2013"
+ - 1.3:
+ code_name: "Top of the World"
+ releases:
+ - 4: "10-29-2013"
+ - 3: "10-09-2013"
+ - 2: "09-19-2013"
+ - 1: "09-16-2013"
+ - 0: "09-13-2013"
+ - 1.2:
+ code_name: "Right Now"
+ releases:
+ - 3: "08-21-2013"
+ - 2: "07-05-2013"
+ - 1: "07-04-2013"
+ - 0: "06-10-2013"
+ - 1.1:
+ code_name: "Mean Street"
+ releases:
+ - 0: "04-02-2013"
+ - 1.0:
+ code_name: "Eruption"
+ releases:
+ - 0: "02-01-2013"
+ - 0.9:
+ code_name: "Dreams"
+ releases:
+ - 0: "11-30-2012"
+ - 0.8:
+ code_name: "Cathedral"
+ releases:
+ - 0: "10-19-2012"
+ - 0.7:
+ code_name: "Panama"
+ releases:
+ - 0: "09-06-2012"
+ - 0.6:
+ code_name: "Cabo"
+ releases:
+ - 0: "08-06-2012"
+ - 0.5:
+ code_name: "Amsterdam"
+ releases:
+ - 0: "07-04-2012"
+ - 0.4:
+ code_name: "Unchained"
+ releases:
+ - 0: "05-23-2012"
+ - 0.3:
+ code_name: "Baluchitherium"
+ releases:
+ - 0: "04-23-2012"
+ - 0.2:
+ code_name: "Untitled"
+ releases:
+ - 0: "?"
+ - 0.1:
+ code_name: "Untitled"
+ releases:
+ - 0: "?"
+ - 0.0:
+ code_name: "Untitled"
+ releases:
+ - 2: "?"
+ - 1: "?"