Skip to content

Commit

Permalink
Add build script (containers#58)
Browse files Browse the repository at this point in the history
  • Loading branch information
sshnaidm authored Jun 8, 2020
1 parent 8b717f9 commit 3330f84
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/collection-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Collection release and publish
on:
push:
tags:
- '[0-9]+\.[0-9]+\.[0-9]+'

jobs:
publish-collection-artifact:
name: Publish
runs-on: ${{ matrix.runner-os }}
strategy:
matrix:
runner-os:
- ubuntu-16.04
ansible-version:
- git+https://github.com/ansible/ansible.git@devel
runner-python-version:
- 3.7
steps:

- name: Check out ${{ github.repository }} on disk
uses: actions/checkout@master

- name: Set up Python ${{ matrix.runner-python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.runner-python-version }}

- name: Install Ansible ${{ matrix.ansible-version }}
run: |
python -m pip install --user -r contrib/publish-requirements.txt
python -m pip install --user -U --force '${{ matrix.ansible-version }}'
python -m virtualenv /tmp/new-ansible
/tmp/new-ansible/bin/pip install '${{ matrix.ansible-version }}'
- name: Generate a version from tag
run: >-
./contrib/publish.sh ${GITHUB_REF##*/}
env:
API_GALAXY_TOKEN: ${{ secrets.API_GALAXY_TOKEN }}
GALAXY_PATH: /tmp/new-ansible/bin/ansible-galaxy
14 changes: 14 additions & 0 deletions contrib/build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python
import sys
import yaml

if len(sys.argv) < 2:
print("No version was provided!")
sys.exit(1)

version = sys.argv[1]
with open("galaxy.yml.in") as f:
y = yaml.safe_load(f)
y['version'] = version
with open("galaxy.yml", "w") as ff:
yaml.safe_dump(y, ff)
3 changes: 3 additions & 0 deletions contrib/publish-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PyYAML
galaxy-importer
virtualenv
30 changes: 30 additions & 0 deletions contrib/publish.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

set -eux

if [[ -z "$1" ]]; then
echo "Please provide a tag!"
exit 1
fi
ANSIBLE_GALAXY_BIN=${GALAXY_PATH:-'ansible-galaxy'}

echo "Start building collection"
echo "Generating galaxy.yml for version $1"
./contrib/build.py "$1"

rm -rf build_artifact
mkdir -p build_artifact

${ANSIBLE_GALAXY_BIN} collection build --force --output-path build_artifact/
COLLECTION_P=$(ls build_artifact/*tar.gz)

echo "Publishing collection $COLLECTION_P"

output=$(python -m galaxy_importer.main $COLLECTION_P)
if echo $output | grep ERROR: ; then
echo "Failed check of galaxy importer!"
exit 1
fi

echo "Running: ${ANSIBLE_GALAXY_BIN} collection publish --api-key HIDDEN $COLLECTION_P"
${ANSIBLE_GALAXY_BIN} collection publish --api-key $API_GALAXY_TOKEN $COLLECTION_P
2 changes: 2 additions & 0 deletions galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,5 @@ build_ignore:
- ".idea"
- ".github"
- contrib
- galaxy.yml.in
- importer_result.json
30 changes: 30 additions & 0 deletions galaxy.yml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
namespace: containers
name: podman
# version:
readme: README.md
authors:
- Sagi Shnaidman <[email protected]>
- Ansible team
description: Podman container Ansible modules
license: GPL-3.0-or-later
tags:
- containers
- podman
- libpod
dependencies: {}
repository: https://github.com/containers/ansible-podman-collections.git
documentation: https://github.com/containers/ansible-podman-collections
homepage: https://github.com/containers/ansible-podman-collections
issues: https://github.com/containers/ansible-podman-collections/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
build_ignore:
- ci
- tests/output
- build_artifact
- "*.tar.gz"
- ".gitignore"
- ".history"
- ".vscode"
- ".idea"
- ".github"
- contrib
- importer_result.json

0 comments on commit 3330f84

Please sign in to comment.