Skip to content
This repository was archived by the owner on Feb 13, 2023. It is now read-only.

Commit 14f6a3b

Browse files
committed
Update Composer role to latest version.
1 parent bed6546 commit 14f6a3b

File tree

10 files changed

+59
-21
lines changed

10 files changed

+59
-21
lines changed

provisioning/requirements.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
- src: geerlingguy.blackfire
1515
version: 1.0.0
1616
- src: geerlingguy.composer
17-
version: 1.5.0
17+
version: 1.6.0
1818
- src: geerlingguy.daemonize
1919
version: 1.1.1
2020
- src: geerlingguy.drupal-console
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sudo: required
2+
services: docker
33

44
env:
55
- distro: centos7
@@ -11,42 +11,39 @@ env:
1111
- distro: ubuntu1604
1212
init: /lib/systemd/systemd
1313
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
14-
15-
services:
16-
- docker
14+
- distro: debian8
15+
init: /lib/systemd/systemd
16+
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
1717

1818
before_install:
1919
# Pull container.
20-
- 'sudo docker pull geerlingguy/docker-${distro}-ansible:latest'
20+
- 'docker pull geerlingguy/docker-${distro}-ansible:latest'
2121

2222
script:
2323
- container_id=$(mktemp)
2424
# Run container in detached state.
25-
- 'sudo docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"'
25+
- 'docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"'
2626

2727
# Install dependencies.
28-
- 'sudo docker exec "$(cat ${container_id})" ansible-galaxy install -r /etc/ansible/roles/role_under_test/tests/requirements.yml'
28+
- 'docker exec "$(cat ${container_id})" ansible-galaxy install -r /etc/ansible/roles/role_under_test/tests/requirements.yml'
2929

3030
# Ansible syntax check.
31-
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check'
31+
- 'docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check'
3232

3333
# Test role.
34-
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml'
34+
- 'docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml'
3535

3636
# Test role idempotence.
3737
- idempotence=$(mktemp)
38-
- sudo docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml | tee -a ${idempotence}
38+
- docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml | tee -a ${idempotence}
3939
- >
4040
tail ${idempotence}
4141
| grep -q 'changed=0.*failed=0'
4242
&& (echo 'Idempotence test: pass' && exit 0)
4343
|| (echo 'Idempotence test: fail' && exit 1)
4444
4545
# Ensure Composer is installed and working.
46-
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm composer || true'
47-
48-
# Clean up.
49-
- 'sudo docker stop "$(cat ${container_id})"'
46+
- 'docker exec --tty "$(cat ${container_id})" env TERM=xterm composer || true'
5047

5148
notifications:
5249
webhooks: https://galaxy.ansible.com/api/v1/notifications/

provisioning/roles/geerlingguy.composer/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ A list of packages to install globally (using `composer global require`). If you
3939

4040
If `true`, and if there are any configured `composer_global_packages`, the `vendor/bin` directory inside `composer_home_path` will be added to the system's default `$PATH` (for all users).
4141

42+
composer_project_path: /path/to/project
43+
44+
Path to a composer project.
45+
46+
composer_add_project_to_path: false
47+
48+
If `true`, and if you have configured a `composer_project_path`, the `vendor/bin` directory inside `composer_project_path` will be added to the system's default `$PATH` (for all users).
49+
4250
composer_github_oauth_token: ''
4351

4452
GitHub OAuth token, used to avoid GitHub API rate limiting errors when building and rebuilding applications using Composer. Follow GitHub's directions to [Create a personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) if you run into these rate limit errors.
@@ -65,4 +73,4 @@ MIT / BSD
6573

6674
## Author Information
6775

68-
This role was created in 2014 by [Jeff Geerling](http://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).
76+
This role was created in 2014 by [Jeff Geerling](https://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).

provisioning/roles/geerlingguy.composer/defaults/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,9 @@ composer_global_packages: []
1616

1717
composer_add_to_path: true
1818

19+
# Add a project vendor/bin directory to the PATH
20+
composer_add_project_to_path: false
21+
#composer_project_path: /path/to/project/vendor/bin
22+
1923
# GitHub OAuth token (used to help overcome API rate limits).
2024
composer_github_oauth_token: ''

provisioning/roles/geerlingguy.composer/tasks/global-require.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
---
22
- name: Install configured globally-required packages.
3-
become: yes
4-
become_user: "{{ composer_home_owner }}"
5-
shell: >
6-
COMPOSER_HOME={{ composer_home_path }}
3+
command: >
74
{{ composer_path }} global require {{ item.name }}:{{ item.release | default('@stable') }} --no-progress
85
creates={{ composer_home_path }}/vendor/{{ item.name }}
6+
environment:
7+
COMPOSER_HOME: "{{ composer_home_path }}"
8+
become: yes
9+
become_user: "{{ composer_home_owner }}"
910
register: composer_global_require_result
1011
with_items: "{{ composer_global_packages }}"
1112

provisioning/roles/geerlingguy.composer/tasks/main.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
state: directory
4343

4444
- name: Add GitHub OAuth token for Composer (if configured).
45+
become: yes
46+
become_user: "{{ composer_home_owner }}"
4547
template:
4648
src: "auth.json.j2"
4749
dest: "{{ composer_home_path }}/auth.json"
@@ -51,3 +53,6 @@
5153

5254
- include: global-require.yml
5355
when: composer_global_packages|length > 0
56+
57+
- include: project-bin.yml
58+
when: composer_add_project_to_path
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
- name: Add composer_project_path bin directory to global $PATH.
3+
template:
4+
src: composer-project.sh.j2
5+
dest: /etc/profile.d/composer-project.sh
6+
mode: 0644
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export PATH={{ composer_project_path }}/vendor/bin:$PATH
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
22
- src: geerlingguy.repo-remi
3+
- src: geerlingguy.repo-dotdeb
34
- src: geerlingguy.git
45
- src: geerlingguy.php

provisioning/roles/geerlingguy.composer/tests/test.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,27 @@
1313

1414
pre_tasks:
1515
- name: Update apt cache.
16-
apt: update_cache=yes
16+
apt: update_cache=yes cache_valid_time=600
1717
when: ansible_distribution == 'Ubuntu'
1818

19+
- name: Set php_packages for PHP 7.0 Debian 8 install.
20+
set_fact:
21+
php_packages:
22+
- php7.0-common
23+
- php7.0-cli
24+
- php7.0-dev
25+
- php7.0-fpm
26+
- libpcre3-dev
27+
- php7.0-opcache
28+
- php7.0-apcu
29+
- php7.0-xml
30+
when: ansible_distribution == 'Debian'
31+
1932
roles:
2033
- role: geerlingguy.repo-remi
2134
when: ansible_os_family == 'RedHat' and ansible_distribution != 'Fedora'
35+
- role: geerlingguy.repo-dotdeb
36+
when: ansible_distribution == 'Debian'
2237
- geerlingguy.git
2338
- geerlingguy.php
2439
- role_under_test

0 commit comments

Comments
 (0)