]> git.immae.eu Git - github/fretlink/ansible-clever.git/blobdiff - .travis.yml
core: cleanup the README to better document the role
[github/fretlink/ansible-clever.git] / .travis.yml
index 10cf845e34ee2d3913597dcc13ffff67fef5d3c6..d287c26255826fb7b9a9c0c65afab7e9a586795f 100644 (file)
@@ -1,29 +1,37 @@
 ---
-language: python
-python: "2.7"
-
-# Use the new container infrastructure
 sudo: false
-
-# Install ansible
-addons:
-  apt:
-    packages:
-    - python-pip
+language: nix
+nix: 2.2.1
+env:
+  - NIX_PATH=nixpkgs=channel:nixos-19.09
 
 install:
-  # Install ansible
-  - pip install ansible
+  - nix-env -iA pkgs.python37Packages.ansible-lint pkgs.python37Packages.ansible pkgs.shellcheck -f '<nixpkgs>'
+  - nix-env -if ./dhall-1.26.1.nix
 
   # Check ansible version
   - ansible --version
 
+  # Alias role name to mimic actual Galaxy deployment
+  - ln -s ansible-clever ../clever
+
   # Create ansible.cfg with correct roles_path
   - printf '[defaults]\nroles_path=../' >ansible.cfg
 
 script:
-  # Basic role syntax check
-  - ansible-playbook tests/test.yml -i tests/inventory --syntax-check
+  # Basic role syntax check & linting
+  - ansible-lint .
+  - shellcheck **/*.sh
+  - scripts/dhall_check.sh
+  # Run integration test
+  - mkdir -p ~/.local/bin
+  - cp tests/fake.sh ~/.local/bin/clever
+  - cp tests/fake.sh ~/.local/bin/git
+  - ansible-playbook tests/test-simple-app.yml -i tests/inventory
+  - ansible-playbook tests/test-haskell-app.yml -i tests/inventory
+  - ansible-playbook tests/test-configure-app.yml -i tests/inventory
+  - ansible-playbook tests/test-scalability.yml -i tests/inventory
 
 notifications:
-  slack: fretlink:n84rSINeJTLRjUTgXfB1aILX
+  slack: fretlink:pTIylIN7zkwRFuL3aHERmsbB
+  webhooks: https://galaxy.ansible.com/api/v1/notifications/