From 85ec73bf4beb5ee66ba2d876d9147816a945c0a2 Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Tue, 3 Mar 2020 20:19:41 -0500 Subject: [PATCH] Unify collection targets for install and ansible-test --- Makefile | 22 +++++++++++----------- awx_collection/README.md | 15 +++++++++------ 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 069a6ff748..defab38047 100644 --- a/Makefile +++ b/Makefile @@ -402,6 +402,7 @@ prepare_collection_venv: COLLECTION_TEST_DIRS ?= awx_collection/test/awx COLLECTION_PACKAGE ?= awx COLLECTION_NAMESPACE ?= awx +COLLECTION_INSTALL = ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE)/awx test_collection: @if [ "$(VENV_BASE)" ]; then \ @@ -414,28 +415,27 @@ flake8_collection: test_collection_all: prepare_collection_venv test_collection flake8_collection -test_collection_sanity: - rm -rf sanity - mkdir -p sanity/ansible_collections/$(COLLECTION_NAMESPACE) - cp -Ra awx_collection sanity/ansible_collections/$(COLLECTION_NAMESPACE)/awx # symlinks do not work - cd sanity/ansible_collections/$(COLLECTION_NAMESPACE)/awx && git init && git add . # requires both this file structure and a git repo, so there you go - cd sanity/ansible_collections/$(COLLECTION_NAMESPACE)/awx && ansible-test sanity - # WARNING: symlinking a collection is fundamentally unstable # this is for rapid development iteration with playbooks, do not use with other test targets symlink_collection: - rm -rf ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE) - mkdir -p ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE) - ln -s $(shell pwd)/awx_collection ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE)/awx + rm -rf $(COLLECTION_INSTALL) + mkdir -p ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE) # in case it does not exist + ln -s $(shell pwd)/awx_collection $(COLLECTION_INSTALL) build_collection: ansible-playbook -i localhost, awx_collection/template_galaxy.yml -e collection_package=$(COLLECTION_PACKAGE) -e collection_namespace=$(COLLECTION_NAMESPACE) -e collection_version=$(VERSION) ansible-galaxy collection build awx_collection --force --output-path=awx_collection install_collection: build_collection - rm -rf ~/.ansible/collections/ansible_collections/$(COLLECTION_NAMESPACE)/awx + rm -rf $(COLLECTION_INSTALL) ansible-galaxy collection install awx_collection/$(COLLECTION_NAMESPACE)-awx-$(VERSION).tar.gz +test_collection_sanity: install_collection + cd $(COLLECTION_INSTALL) && ansible-test sanity + +test_collection_integration: install_collection + cd $(COLLECTION_INSTALL) && ansible-test integration + test_unit: @if [ "$(VENV_BASE)" ]; then \ . $(VENV_BASE)/awx/bin/activate; \ diff --git a/awx_collection/README.md b/awx_collection/README.md index f91396e59c..26b17ca268 100644 --- a/awx_collection/README.md +++ b/awx_collection/README.md @@ -8,6 +8,15 @@ inside the folder `lib/ansible/modules/web_infrastructure/ansible_tower` as well as other folders for the inventory plugin, module utils, and doc fragment. +## Building and Installing + +This collection templates the `galaxy.yml` file it uses. +Run `make build_collection` from the root folder of the AWX source tree. +This will create the `tar.gz` file inside the `awx_collection` folder +with the current AWX version, for example: `awx_collection/awx-awx-9.2.0.tar.gz`. + +Installing the `tar.gz` involves no special instructions. + ## Release and Upgrade Notes The release 7.0.0 of the `awx.awx` collection is intended to be identical @@ -95,12 +104,6 @@ cd ~/.ansible/collections/ansible_collections/awx/awx/ ansible-test integration ``` -## Building - -The build target `make build_collection` will template out a `galaxy.yml` file -with automatic detection of the current AWX version. Then it builds the -collection with the `ansible-galaxy` CLI. - ## Licensing All content in this folder is licensed under the same license as Ansible,