mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
2.6 changelog gen/version/root dir cleanup (#40421)
* patched in changelog gen stuff from stable-2.5 * Makefile updates * release.py as single-source-of-truth * Remove obsolete ansible-core-sitemap.xml file. * Move ROADMAP.rst into README.rst. * dynamic rpm changelog, zap old deb/rpm changelogs * fix changelog in MANIFEST.in * Remove obsolete hacking/update.sh script. * Remove ref to deleted authors script. * Remove ref to removed module-formatter script. * Update headings to match script names. * MANIFEST.in cleanup * removed RELEASES.txt and versions.yml * removed obsolete release generation playbook/bits (not used since 2.5) * misc Makefile cleanup * speculative changes to DEB versioning * allow override of DEB_VERSION/DEB_RELEASE
This commit is contained in:
@@ -3,330 +3,3 @@ ansible (%VERSION%-%RELEASE%~%DIST%) %DIST%; urgency=low
|
||||
* %VERSION% release
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> %DATE%
|
||||
|
||||
ansible (2.0.1.0) unstable; urgency=low
|
||||
|
||||
* 2.0.1.0
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Wed, 24 Feb 2016 18:28:59 -0500
|
||||
|
||||
|
||||
ansible (2.0.0.2) unstable; urgency=low
|
||||
|
||||
* 2.0.0.2
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Thu, 14 Jan 2016 17:17:41 -0500
|
||||
|
||||
|
||||
ansible (2.0.0.1) unstable; urgency=low
|
||||
|
||||
* 2.0.0.1
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Tue, 12 Jan 2016 17:53:29 -0500
|
||||
|
||||
|
||||
ansible (2.0.0.0) unstable; urgency=low
|
||||
|
||||
* 2.0.0.0
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Tue, 12 Jan 2016 08:33:59 -0500
|
||||
|
||||
ansible (1.9.4) unstable; urgency=low
|
||||
|
||||
* 1.9.4
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Fri, 09 Oct 2015 15:00:00 -0500
|
||||
|
||||
ansible (1.9.3) unstable; urgency=low
|
||||
|
||||
* 1.9.3
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Thu, 03 Sep 2015 18:30:00 -0500
|
||||
|
||||
ansible (1.9.2) unstable; urgency=low
|
||||
|
||||
* 1.9.2
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Wed, 24 Jun 2015 14:00:00 -0500
|
||||
|
||||
ansible (1.9.1) unstable; urgency=low
|
||||
|
||||
* 1.9.1
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Mon, 27 Apr 2015 17:00:00 -0500
|
||||
|
||||
ansible (1.9.0.1) unstable; urgency=low
|
||||
|
||||
* 1.9.0.1
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Wed, 25 Mar 2015 15:00:00 -0500
|
||||
|
||||
ansible (1.8.4) unstable; urgency=low
|
||||
|
||||
* 1.8.4
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Thu, 19 Feb 2015 12:00:00 -0500
|
||||
|
||||
ansible (1.8.3) unstable; urgency=low
|
||||
|
||||
* 1.8.3
|
||||
|
||||
-- Ansible, Inc. <info@ansible.com> Tue, 17 Feb 2015 16:00:00 -0500
|
||||
|
||||
ansible (1.8.2) unstable; urgency=low
|
||||
|
||||
* 1.8.2
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Thu, 04 Dec 2014 17:00:00 -0500
|
||||
|
||||
ansible (1.8.1) unstable; urgency=low
|
||||
|
||||
* 1.8.1
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 26 Nov 2014 23:00:00 -0500
|
||||
|
||||
ansible (1.8.0) unstable; urgency=low
|
||||
|
||||
* 1.8.0
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Tue, 25 Nov 2014 17:00:00 -0500
|
||||
|
||||
ansible (1.7.2) unstable; urgency=low
|
||||
|
||||
* 1.7.2 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 24 Sep 2014 15:00:00 -0500
|
||||
|
||||
ansible (1.7.1) unstable; urgency=low
|
||||
|
||||
* 1.7.1 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Thu, 14 Oct 2014 17:00:00 -0500
|
||||
|
||||
ansible (1.7) unstable; urgency=low
|
||||
|
||||
* 1.7.0 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 06 Aug 2014 15:00:00 -0500
|
||||
|
||||
ansible (1.6.10) unstable; urgency=low
|
||||
|
||||
* 1.6.10 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Fri, 25 Jul 2014 13:00:00 -0500
|
||||
|
||||
ansible (1.6.9) unstable; urgency=low
|
||||
|
||||
* 1.6.9 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Thu, 24 Jul 2014 23:30:00 -0500
|
||||
|
||||
ansible (1.6.8) unstable; urgency=low
|
||||
|
||||
* 1.6.8 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Tue, 22 Jul 2014 17:30:00 -0500
|
||||
|
||||
ansible (1.6.7) unstable; urgency=low
|
||||
|
||||
* 1.6.7 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Mon, 21 Jul 2014 12:30:00 -0500
|
||||
|
||||
ansible (1.6.6) unstable; urgency=low
|
||||
|
||||
* 1.6.6 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Tue, 01 Jul 2014 15:30:00 -0500
|
||||
|
||||
ansible (1.6.5) unstable; urgency=low
|
||||
|
||||
* 1.6.5 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 25 Jun 2014 22:30:00 -0500
|
||||
|
||||
ansible (1.6.4) unstable; urgency=low
|
||||
|
||||
* 1.6.4 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 25 Jun 2014 17:30:00 -0500
|
||||
|
||||
ansible (1.6.3) unstable; urgency=low
|
||||
|
||||
* 1.6.3 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Mon, 09 Jun 2014 16:30:00 -0500
|
||||
|
||||
ansible (1.6.2) unstable; urgency=low
|
||||
|
||||
* 1.6.2 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Fri, 23 May 2014 17:30:00 -0500
|
||||
|
||||
ansible (1.6.1) unstable; urgency=low
|
||||
|
||||
* 1.6.1 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Wed, 07 May 2014 13:30:00 -0500
|
||||
|
||||
ansible (1.6) unstable; urgency=low
|
||||
|
||||
* 1.6.0 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Mon, 05 May 2014 17:30:03 -0500
|
||||
|
||||
ansible (1.5.5) unstable; urgency=low
|
||||
|
||||
* 1.5.5 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Fri, 18 April 2014 15:00:00 -0500
|
||||
|
||||
ansible (1.5.4) unstable; urgency=low
|
||||
|
||||
* 1.5.4 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Tue, 01 April 2014 08:46:00 -0500
|
||||
|
||||
ansible (1.5.3) unstable; urgency=low
|
||||
|
||||
* 1.5.3 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Thu, 13 March 2014 08:46:00 -0500
|
||||
|
||||
ansible (1.5.2) unstable; urgency=low
|
||||
|
||||
* 1.5.2 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Tue, 11 March 2014 08:46:00 -0500
|
||||
|
||||
ansible (1.5.1) unstable; urgency=low
|
||||
|
||||
* 1.5.1 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Mon, 10 March 2014 17:33:44 -0500
|
||||
|
||||
ansible (1.5) unstable; urgency=low
|
||||
|
||||
* 1.5 release
|
||||
|
||||
-- Michael DeHaan <michael@ansible.com> Fri, 28 February 2014 00:00:00 -0500
|
||||
|
||||
ansible (1.4.5) unstable; urgency=low
|
||||
|
||||
* 1.4.5 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Wed, 12 February 2014 15:23:11 -0500
|
||||
|
||||
ansible (1.4.4) unstable; urgency=low
|
||||
|
||||
* 1.4.4 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Mon, 06 January 2014 10:30:34 -0500
|
||||
|
||||
ansible (1.4.3) unstable; urgency=low
|
||||
|
||||
* 1.4.3 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 20 December 2013 13:19:01 -0500
|
||||
|
||||
ansible (1.4.2) unstable; urgency=low
|
||||
|
||||
* 1.4.2 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Wed, 18 December 2013 19:00:00 -0500
|
||||
|
||||
ansible (1.4.1) unstable; urgency=low
|
||||
|
||||
* 1.4.1 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Wed, 27 November 2013 15:00:01 -0500
|
||||
|
||||
ansible (1.4) unstable; urgency=low
|
||||
|
||||
* 1.4 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Thu, 21 November 2013 15:00:01 -0500
|
||||
|
||||
ansible (1.3) unstable; urgency=low
|
||||
|
||||
* 1.3 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 13 September 2013 18:00:00 -0500
|
||||
|
||||
ansible (1.2.2) unstable; urgency=low
|
||||
|
||||
* 1.2.2 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Thu, 04 July 2013 21:45:01 -0500
|
||||
|
||||
ansible (1.2.1) unstable; urgency=low
|
||||
|
||||
* 1.2.1 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Thu, 04 July 2013 21:45:00 -0500
|
||||
|
||||
ansible (1.2) unstable; urgency=low
|
||||
|
||||
* 1.2 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Mon, 10 June 2013 15:00:00 -0500
|
||||
|
||||
ansible (1.1) unstable; urgency=low
|
||||
|
||||
* 1.1 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Tue, 02 Mar 2013 20:38:00 -0500
|
||||
|
||||
ansible (1.0) unstable; urgency=low
|
||||
|
||||
* 1.0 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 01 Feb 2013 21:34:34 -0500
|
||||
|
||||
ansible (0.9) unstable; urgency=low
|
||||
|
||||
* 0.9 release
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 30 Nov 2012 22:00:00 -0400
|
||||
|
||||
ansible (0.8) unstable; urgency=low
|
||||
|
||||
* 0.8 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Fri, 19 Oct 2012 20:50:00 -0400
|
||||
|
||||
ansible (0.7) unstable; urgency=low
|
||||
|
||||
* 0.7 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Thu, 06 Aug 2012 18:50:00 -0400
|
||||
|
||||
ansible (0.6) unstable; urgency=low
|
||||
|
||||
* 0.6 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Mon, 06 Aug 2012 19:50:00 -0400
|
||||
|
||||
ansible (0.5) unstable; urgency=low
|
||||
|
||||
* 0.5 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Wed, 04 Jul 2012 13:40:00 -0400
|
||||
|
||||
ansible (0.4) unstable; urgency=low
|
||||
|
||||
* 0.4 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Wed, 23 May 2012 19:40:00 -0400
|
||||
|
||||
ansible (0.3) unstable; urgency=low
|
||||
|
||||
* 0.3 update
|
||||
|
||||
-- Michael DeHaan <michael.dehaan@gmail.com> Mon, 23 Apr 2012 11:08:00 -0400
|
||||
|
||||
ansible (0.0.2) unstable; urgency=low
|
||||
|
||||
* Initial Release
|
||||
|
||||
-- Henry Graham (hzgraham) <Henry.Graham@mail.wvu.edu> Tue, 17 Apr 2012 17:17:01 -0400
|
||||
|
||||
@@ -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
|
||||
@@ -1,16 +0,0 @@
|
||||
Ansible Releases at a Glance
|
||||
============================
|
||||
|
||||
VERSION RELEASE CODE NAME
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
{% for version in versions %}
|
||||
{% for vkey, vdata in version.items() %}
|
||||
{% for release in vdata.releases %}
|
||||
{% for rkey, rdata in release.items() %}
|
||||
{% set major_minor = vkey + "." + rkey %}
|
||||
{{"%-8s"|format(major_minor)}} {{"%-10s"|format(rdata)}} "{{vdata.code_name}}"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
0
packaging/release/tests/__init__.py
Normal file
0
packaging/release/tests/__init__.py
Normal file
42
packaging/release/tests/version_helper_test.py
Normal file
42
packaging/release/tests/version_helper_test.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
import pytest
|
||||
|
||||
from packaging.version import InvalidVersion
|
||||
from versionhelper.version_helper import AnsibleVersionMunger
|
||||
|
||||
|
||||
@pytest.mark.parametrize('version,revision,codename,output_propname,expected', [
|
||||
('2.5.0dev1', None, None, 'raw', '2.5.0dev1'),
|
||||
('2.5.0', None, None, 'raw', '2.5.0'),
|
||||
('2.5.0dev1', None, None, 'major_version', '2.5'),
|
||||
('2.5.0', None, None, 'major_version', '2.5'),
|
||||
('2.5.0dev1', None, None, 'base_version', '2.5.0'),
|
||||
('2.5.0', None, None, 'base_version', '2.5.0'),
|
||||
('2.5.0dev1', None, None, 'deb_version', '2.5.0~dev1'),
|
||||
('2.5.0b1', None, None, 'deb_version', '2.5.0~b1'),
|
||||
('2.5.0', None, None, 'deb_version', '2.5.0'),
|
||||
('2.5.0dev1', None, None, 'deb_release', '1'),
|
||||
('2.5.0b1', 2, None, 'deb_release', '2'),
|
||||
('2.5.0dev1', None, None, 'rpm_release', '0.1.dev1'),
|
||||
('2.5.0a1', None, None, 'rpm_release', '0.101.a1'),
|
||||
('2.5.0b1', None, None, 'rpm_release', '0.201.b1'),
|
||||
('2.5.0rc1', None, None, 'rpm_release', '0.1001.rc1'),
|
||||
('2.5.0rc1', '0.99', None, 'rpm_release', '0.99.rc1'),
|
||||
('2.5.0.rc.1', None, None, 'rpm_release', '0.1001.rc.1'),
|
||||
('2.5.0', None, None, 'rpm_release', '1'),
|
||||
('2.5.0', 2, None, 'rpm_release', '2'),
|
||||
('2.5.0', None, None, 'codename', 'UNKNOWN'),
|
||||
('2.5.0', None, 'LedZeppelinSongHere', 'codename', 'LedZeppelinSongHere'),
|
||||
('2.5.0x1', None, None, None, InvalidVersion)
|
||||
])
|
||||
def test_output_values(version, revision, codename, output_propname, expected):
|
||||
try:
|
||||
v = AnsibleVersionMunger(version, revision, codename)
|
||||
assert getattr(v, output_propname) == expected
|
||||
except Exception as ex:
|
||||
if isinstance(expected, type):
|
||||
assert isinstance(ex, expected)
|
||||
else:
|
||||
raise
|
||||
@@ -1,167 +0,0 @@
|
||||
versions:
|
||||
- "2.6":
|
||||
code_name: "Heartbreaker"
|
||||
releases:
|
||||
- "0": TBD
|
||||
- "2.5":
|
||||
code_name: "Kashmir"
|
||||
releases:
|
||||
- "0": TBD
|
||||
- "2.4":
|
||||
code_name: "Dancing Days"
|
||||
releases:
|
||||
- "4": "04-04-2018"
|
||||
- "3": "01-31.2018"
|
||||
- "2": "11-29-2017"
|
||||
- "1": "10-25-2017"
|
||||
- "0": "09-19-2017"
|
||||
- "2.3":
|
||||
code_name: "Ramble On"
|
||||
releases:
|
||||
- "3": "12-20-2017"
|
||||
- "2": "08-04-2017"
|
||||
- "1": "06-01-2017"
|
||||
- "0": "04-12-2017"
|
||||
- "2.2":
|
||||
code_name: "The Battle of Evermore"
|
||||
releases:
|
||||
- "3": "05-09-2017"
|
||||
- "2": "03-27-2017"
|
||||
- "1": "01-16-2017"
|
||||
- "0": "11-01-2016"
|
||||
- "2.1":
|
||||
code_name: "The Song Remains the Same"
|
||||
releases:
|
||||
- "6": "06-01-2017"
|
||||
- "5": "03-27-2017"
|
||||
- "4": "01-16-2017"
|
||||
- "3": "11-04-2016"
|
||||
- "2": "09-29-2016"
|
||||
- "1": "07-28-2016"
|
||||
- "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': "11-25-2014"
|
||||
- "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': "?"
|
||||
0
packaging/release/versionhelper/__init__.py
Normal file
0
packaging/release/versionhelper/__init__.py
Normal file
182
packaging/release/versionhelper/version_helper.py
Normal file
182
packaging/release/versionhelper/version_helper.py
Normal file
@@ -0,0 +1,182 @@
|
||||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
from packaging.version import Version, VERSION_PATTERN
|
||||
|
||||
|
||||
class AnsibleVersionMunger(object):
|
||||
tag_offsets = dict(
|
||||
dev=0,
|
||||
a=100,
|
||||
b=200,
|
||||
rc=1000
|
||||
)
|
||||
|
||||
# TODO: allow overrides here for packaging bump etc
|
||||
def __init__(self, raw_version, revision=None, codename=None):
|
||||
self._raw_version = raw_version
|
||||
self._revision = revision
|
||||
self._parsed_version = Version(raw_version)
|
||||
self._codename = codename
|
||||
self._parsed_regex_match = re.match(VERSION_PATTERN, raw_version, re.VERBOSE | re.IGNORECASE)
|
||||
|
||||
@property
|
||||
def deb_version(self):
|
||||
v = self._parsed_version
|
||||
|
||||
match = self._parsed_regex_match
|
||||
|
||||
if v.is_prerelease:
|
||||
if match.group('pre'):
|
||||
tag_value = match.group('pre')
|
||||
tag_type = match.group('pre_l')
|
||||
tag_ver = match.group('pre_n')
|
||||
elif match.group('dev'):
|
||||
tag_type = "dev"
|
||||
tag_value = match.group('dev')
|
||||
tag_ver = match.group('dev_n')
|
||||
else:
|
||||
raise Exception("unknown prerelease type for version {0}".format(self._raw_version))
|
||||
|
||||
elif v.is_postrelease:
|
||||
raise Exception("post-release identifiers are not supported")
|
||||
else:
|
||||
tag_type = None
|
||||
tag_value = ''
|
||||
tag_ver = 0
|
||||
|
||||
# not a pre/post/dev release, just return base version
|
||||
if not tag_type:
|
||||
return '{base_version}'.format(base_version=self.base_version)
|
||||
|
||||
# it is a pre/dev release, include the tag value with a ~
|
||||
return '{base_version}~{tag_value}'.format(base_version=self.base_version, tag_value=tag_value)
|
||||
|
||||
@property
|
||||
def deb_release(self):
|
||||
return '1' if self._revision is None else str(self._revision)
|
||||
|
||||
@property
|
||||
def rpm_release(self):
|
||||
v = self._parsed_version
|
||||
match = self._parsed_regex_match
|
||||
|
||||
if v.is_prerelease:
|
||||
if match.group('pre'):
|
||||
tag_value = match.group('pre')
|
||||
tag_type = match.group('pre_l')
|
||||
tag_ver = match.group('pre_n')
|
||||
elif match.group('dev'):
|
||||
tag_type = "dev"
|
||||
tag_value = match.group('dev')
|
||||
tag_ver = match.group('dev_n')
|
||||
else:
|
||||
raise Exception("unknown prerelease type for version {0}".format(self._raw_version))
|
||||
|
||||
elif v.is_postrelease:
|
||||
raise Exception("post-release identifiers are not supported")
|
||||
else:
|
||||
tag_type = None
|
||||
tag_value = ''
|
||||
tag_ver = 0
|
||||
|
||||
# not a pre/post/dev release, just append revision (default 1)
|
||||
if not tag_type:
|
||||
if self._revision is None:
|
||||
self._revision = 1
|
||||
return '{revision}'.format(revision=self._revision)
|
||||
|
||||
# cleanse tag value in case it starts with .
|
||||
tag_value = tag_value.strip('.')
|
||||
|
||||
# coerce to int and None == 0
|
||||
tag_ver = int(tag_ver if tag_ver else 0)
|
||||
|
||||
if self._revision is None:
|
||||
tag_offset = self.tag_offsets.get(tag_type)
|
||||
if tag_offset is None:
|
||||
raise Exception('no tag offset defined for tag {0}'.format(tag_type))
|
||||
pkgrel = '0.{0}'.format(tag_offset + tag_ver)
|
||||
else:
|
||||
pkgrel = self._revision
|
||||
|
||||
return '{pkgrel}.{tag_value}'.format(pkgrel=pkgrel, tag_value=tag_value)
|
||||
|
||||
@property
|
||||
def raw(self):
|
||||
return self._raw_version
|
||||
|
||||
# return the x.y.z version without any other modifiers present
|
||||
@property
|
||||
def base_version(self):
|
||||
return self._parsed_version.base_version
|
||||
|
||||
# return the x.y version without any other modifiers present
|
||||
@property
|
||||
def major_version(self):
|
||||
return re.match(r'^(\d+.\d+)', self._raw_version).group(1)
|
||||
|
||||
@property
|
||||
def codename(self):
|
||||
return self._codename if self._codename else "UNKNOWN"
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Extract/transform Ansible versions to various packaging formats')
|
||||
|
||||
group = parser.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument('--raw', action='store_true')
|
||||
group.add_argument('--majorversion', action='store_true')
|
||||
group.add_argument('--baseversion', action='store_true')
|
||||
group.add_argument('--debversion', action='store_true')
|
||||
group.add_argument('--debrelease', action='store_true')
|
||||
group.add_argument('--rpmrelease', action='store_true')
|
||||
group.add_argument('--codename', action='store_true')
|
||||
group.add_argument('--all', action='store_true')
|
||||
|
||||
parser.add_argument('--revision', action='store', default='auto')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
mydir = os.path.dirname(__file__)
|
||||
release_loc = os.path.normpath(mydir + '/../../../lib')
|
||||
|
||||
sys.path.insert(0, release_loc)
|
||||
|
||||
from ansible import release
|
||||
|
||||
rev = None
|
||||
if args.revision != 'auto':
|
||||
rev = args.revision
|
||||
|
||||
v_raw = release.__version__
|
||||
codename = release.__codename__
|
||||
v = AnsibleVersionMunger(v_raw, revision=rev, codename=codename)
|
||||
|
||||
if args.raw:
|
||||
print(v.raw)
|
||||
elif args.baseversion:
|
||||
print(v.base_version)
|
||||
elif args.majorversion:
|
||||
print(v.major_version)
|
||||
elif args.debversion:
|
||||
print(v.deb_version)
|
||||
elif args.debrelease:
|
||||
print(v.deb_release)
|
||||
elif args.rpmrelease:
|
||||
print(v.rpm_release)
|
||||
elif args.codename:
|
||||
print(v.codename)
|
||||
elif args.all:
|
||||
props = [name for (name, impl) in vars(AnsibleVersionMunger).items() if isinstance(impl, property)]
|
||||
|
||||
for propname in props:
|
||||
print('{0}: {1}'.format(propname, getattr(v, propname)))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,18 +1,18 @@
|
||||
%define name ansible
|
||||
%define ansible_version $VERSION
|
||||
%define release_date %(date "+%a %b %e %Y")
|
||||
|
||||
%if 0%{?rhel} == 5
|
||||
%define __python2 /usr/bin/python26
|
||||
%endif
|
||||
|
||||
Name: %{name}
|
||||
Version: %{ansible_version}
|
||||
Release: 1%{?dist}
|
||||
Version: %{rpmversion}
|
||||
Release: %{rpmrelease}%{?dist}%{?repotag}
|
||||
Url: https://www.ansible.com
|
||||
Summary: SSH-based application deployment, configuration management, and IT orchestration platform
|
||||
License: GPLv3+
|
||||
Group: Development/Libraries
|
||||
Source: https://releases.ansible.com/ansible/%{name}-%{version}.tar.gz
|
||||
Source: https://releases.ansible.com/ansible/%{name}-%{upstream_version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
%{!?__python2: %global __python2 /usr/bin/python2.6}
|
||||
%{!?python_sitelib: %global python_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||
@@ -87,7 +87,7 @@ on remote nodes. Extension modules can be written in any language and
|
||||
are transferred to managed machines automatically.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q -n %{name}-%{upstream_version}
|
||||
|
||||
%build
|
||||
%{__python2} setup.py build
|
||||
@@ -128,175 +128,10 @@ rm -rf %{buildroot}
|
||||
%{_bindir}/ansible*
|
||||
%dir %{_datadir}/ansible
|
||||
%config(noreplace) %{_sysconfdir}/ansible
|
||||
%doc README.rst PKG-INFO COPYING CHANGELOG.md
|
||||
%doc README.rst PKG-INFO COPYING changelogs/CHANGELOG-*.rst
|
||||
%doc %{_mandir}/man1/ansible*
|
||||
|
||||
%changelog
|
||||
|
||||
* Wed Feb 24 2016 Ansible, Inc. <info@ansible.com> - 2.0.1.0-1
|
||||
- Release 2.0.1.0-1
|
||||
|
||||
* Thu Jan 14 2016 Ansible, Inc. <info@ansible.com> - 2.0.0.2-1
|
||||
- Release 2.0.0.2-1
|
||||
|
||||
* Tue Jan 12 2016 Ansible, Inc. <info@ansible.com> - 2.0.0.1-1
|
||||
- Release 2.0.0.1-1
|
||||
|
||||
* Tue Jan 12 2016 Ansible, Inc. <info@ansible.com> - 2.0.0.0-1
|
||||
- Release 2.0.0.0-1
|
||||
|
||||
* Fri Oct 09 2015 Ansible, Inc. <info@ansible.com> - 1.9.4
|
||||
- Release 1.9.4
|
||||
|
||||
* Thu Sep 03 2015 Ansible, Inc. <info@ansible.com> - 1.9.3
|
||||
- Release 1.9.3
|
||||
|
||||
* Wed Jun 24 2015 Ansible, Inc. <info@ansible.com> - 1.9.2
|
||||
- Release 1.9.2
|
||||
|
||||
* Mon Apr 27 2015 Ansible, Inc. <info@ansible.com> - 1.9.1
|
||||
- Release 1.9.1
|
||||
|
||||
* Wed Mar 25 2015 Ansible, Inc. <info@ansible.com> - 1.9.0
|
||||
- Release 1.9.0
|
||||
|
||||
* Thu Feb 19 2015 Ansible, Inc. <info@ansible.com> - 1.8.4
|
||||
- Release 1.8.4
|
||||
|
||||
* Tue Feb 17 2015 Ansible, Inc. <info@ansible.com> - 1.8.3
|
||||
- Release 1.8.3
|
||||
|
||||
* Thu Dec 04 2014 Michael DeHaan <michael@ansible.com> - 1.8.2
|
||||
- Release 1.8.2
|
||||
|
||||
* Wed Nov 26 2014 Michael DeHaan <michael@ansible.com> - 1.8.1
|
||||
- Release 1.8.1
|
||||
|
||||
* Tue Nov 25 2014 Michael DeHaan <michael@ansible.com> - 1.8.0
|
||||
- Release 1.8.0
|
||||
|
||||
* Wed Sep 24 2014 Michael DeHaan <michael@ansible.com> - 1.7.2
|
||||
- Release 1.7.2
|
||||
|
||||
* Thu Aug 14 2014 Michael DeHaan <michael@ansible.com> - 1.7.1
|
||||
- Release 1.7.1
|
||||
|
||||
* Wed Aug 06 2014 Michael DeHaan <michael@ansible.com> - 1.7.0
|
||||
- Release 1.7.0
|
||||
|
||||
* Fri Jul 25 2014 Michael DeHaan <michael@ansible.com> - 1.6.10
|
||||
- Release 1.6.10
|
||||
|
||||
* Thu Jul 24 2014 Michael DeHaan <michael@ansible.com> - 1.6.9
|
||||
- Release 1.6.9
|
||||
|
||||
* Tue Jul 22 2014 Michael DeHaan <michael@ansible.com> - 1.6.8
|
||||
- Release 1.6.8
|
||||
|
||||
* Mon Jul 21 2014 Michael DeHaan <michael@ansible.com> - 1.6.7
|
||||
- Release 1.6.7
|
||||
|
||||
* Tue Jul 01 2014 Michael DeHaan <michael@ansible.com> - 1.6.6
|
||||
- Release 1.6.6
|
||||
|
||||
* Wed Jun 25 2014 Michael DeHaan <michael@ansible.com> - 1.6.5
|
||||
- Release 1.6.5
|
||||
|
||||
* Wed Jun 25 2014 Michael DeHaan <michael@ansible.com> - 1.6.4
|
||||
- Release 1.6.4
|
||||
|
||||
* Mon Jun 09 2014 Michael DeHaan <michael@ansible.com> - 1.6.3
|
||||
- Release 1.6.3
|
||||
|
||||
* Fri May 23 2014 Michael DeHaan <michael@ansible.com> - 1.6.2
|
||||
- Release 1.6.2
|
||||
|
||||
* Wed May 07 2014 Michael DeHaan <michael@ansible.com> - 1.6.1
|
||||
- Release 1.6.1
|
||||
|
||||
* Mon May 05 2014 Michael DeHaan <michael@ansible.com> - 1.6.0
|
||||
- Release 1.6.0
|
||||
|
||||
* Fri Apr 18 2014 Michael DeHaan <michael@ansible.com> - 1.5.5
|
||||
- Release 1.5.5
|
||||
|
||||
* Tue Apr 01 2014 Michael DeHaan <michael@ansible.com> - 1.5.4
|
||||
- Release 1.5.4
|
||||
|
||||
* Thu Mar 13 2014 Michael DeHaan <michael@ansible.com> - 1.5.3
|
||||
- Release 1.5.3
|
||||
|
||||
* Tue Mar 11 2014 Michael DeHaan <michael@ansible.com> - 1.5.2
|
||||
- Release 1.5.2
|
||||
|
||||
* Mon Mar 10 2014 Michael DeHaan <michael@ansible.com> - 1.5.1
|
||||
- Release 1.5.1
|
||||
|
||||
* Fri Feb 28 2014 Michael DeHaan <michael@ansible.com> - 1.5.0
|
||||
- Release 1.5.0
|
||||
|
||||
* Fri Feb 28 2014 Michael DeHaan <michael.dehaan@gmail.com> - 1.5-0
|
||||
* Release 1.5
|
||||
|
||||
* Wed Feb 12 2014 Michael DeHaan <michael.dehaan@gmail.com> - 1.4.5
|
||||
* Release 1.4.5
|
||||
|
||||
* Mon Jan 06 2014 Michael DeHaan <michael.dehaan@gmail.com> - 1.4.4
|
||||
* Release 1.4.4
|
||||
|
||||
* Fri Dec 20 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.4.3
|
||||
* Release 1.4.3
|
||||
|
||||
* Wed Dec 18 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.4.2
|
||||
* Release 1.4.2
|
||||
|
||||
* Wed Nov 27 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.4-1
|
||||
* Release 1.4.1
|
||||
|
||||
* Thu Nov 21 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.4-0
|
||||
* Release 1.4.0
|
||||
|
||||
* Fri Sep 13 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.3-0
|
||||
* Release 1.3.0
|
||||
|
||||
* Fri Jul 05 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-2
|
||||
* Release 1.2.2
|
||||
|
||||
* Thu Jul 04 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-1
|
||||
* Release 1.2.1
|
||||
|
||||
* Mon Jun 10 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.2-0
|
||||
* Release 1.2
|
||||
|
||||
* Tue Apr 2 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.1-0
|
||||
* Release 1.1
|
||||
|
||||
* Fri Feb 1 2013 Michael DeHaan <michael.dehaan@gmail.com> - 1.0-0
|
||||
- Release 1.0
|
||||
|
||||
* Fri Nov 30 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.9-0
|
||||
- Release 0.9
|
||||
|
||||
* Fri Oct 19 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.8-0
|
||||
- Release of 0.8
|
||||
|
||||
* Mon Aug 6 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.7-0
|
||||
- Release of 0.7
|
||||
|
||||
* Mon Aug 6 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.6-0
|
||||
- Release of 0.6
|
||||
|
||||
* Wed Jul 4 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.5-0
|
||||
- Release of 0.5
|
||||
|
||||
* Wed May 23 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.4-0
|
||||
- Release of 0.4
|
||||
|
||||
* Mon Apr 23 2012 Michael DeHaan <michael.dehaan@gmail.com> - 0.3-1
|
||||
- Release of 0.3
|
||||
|
||||
* Tue Apr 3 2012 John Eckersberg <jeckersb@redhat.com> - 0.0.2-1
|
||||
- Release of 0.0.2
|
||||
|
||||
* Sat Mar 10 2012 <tbielawa@redhat.com> - 0.0.1-1
|
||||
- Release of 0.0.1
|
||||
* %{release_date} Ansible, Inc. <info@ansible.com> - %{rpmversion}-%{rpmrelease}
|
||||
- Release %{rpmversion}-%{rpmrelease}
|
||||
|
||||
Reference in New Issue
Block a user