--- kind: pipeline name: runners steps: - commands: - cd terraform - terraform init - terraform plan -out /data/runners.plan - terraform apply /data/runners.plan environment: TF_VAR_linode_api_token: from_secret: linode_api_token TF_VAR_root_pass: from_secret: root_pass TF_VAR_ssh_pubkey: from_secret: TF_VAR_ssh_pubkey image: hashicorp/terraform:1.1.7 name: Provision with terraform volumes: - name: terraform-data path: /data type: docker volumes: - host: path: /mnt/nfs/swarm/runners name: terraform-data --- depends_on: - runners kind: pipeline name: Test on centos7 node: linodrone: "true" services: - image: docker:dind name: docker privileged: true volumes: - name: dockersock path: /var/run steps: - commands: - sleep 10 - mkdir ${DRONE_REPO_NAME} - rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME} - cd ${DRONE_REPO_NAME} - molecule test environment: MOLECULE_DISTRO: centos7 image: guisea/ansible-molecule:latest name: Molecule test on centos7 volumes: - name: dockersock path: /var/run type: docker volumes: - name: dockersock temp: {} --- depends_on: - runners kind: pipeline name: Test on centos8 node: linodrone: "true" services: - image: docker:dind name: docker privileged: true volumes: - name: dockersock path: /var/run steps: - commands: - sleep 10 - mkdir ${DRONE_REPO_NAME} - rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME} - cd ${DRONE_REPO_NAME} - molecule test environment: MOLECULE_DISTRO: centos8 image: guisea/ansible-molecule:latest name: Molecule test on centos8 volumes: - name: dockersock path: /var/run type: docker volumes: - name: dockersock temp: {} --- depends_on: - runners kind: pipeline name: Test on rockylinux8 node: linodrone: "true" services: - image: docker:dind name: docker privileged: true volumes: - name: dockersock path: /var/run steps: - commands: - sleep 10 - mkdir ${DRONE_REPO_NAME} - rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME} - cd ${DRONE_REPO_NAME} - molecule test environment: MOLECULE_DISTRO: rockylinux8 image: guisea/ansible-molecule:latest name: Molecule test on rockylinux8 volumes: - name: dockersock path: /var/run type: docker volumes: - name: dockersock temp: {} --- depends_on: - runners kind: pipeline name: Test on debian10 node: linodrone: "true" services: - image: docker:dind name: docker privileged: true volumes: - name: dockersock path: /var/run steps: - commands: - sleep 10 - mkdir ${DRONE_REPO_NAME} - rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME} - cd ${DRONE_REPO_NAME} - molecule test environment: MOLECULE_DISTRO: debian10 image: guisea/ansible-molecule:latest name: Molecule test on debian10 volumes: - name: dockersock path: /var/run type: docker volumes: - name: dockersock temp: {} --- depends_on: - runners kind: pipeline name: Test on debian11 node: linodrone: "true" services: - image: docker:dind name: docker privileged: true volumes: - name: dockersock path: /var/run steps: - commands: - sleep 10 - mkdir ${DRONE_REPO_NAME} - rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME} - cd ${DRONE_REPO_NAME} - molecule test environment: MOLECULE_DISTRO: debian11 image: guisea/ansible-molecule:latest name: Molecule test on debian11 volumes: - name: dockersock path: /var/run type: docker volumes: - name: dockersock temp: {} --- depends_on: - Test on centos7 - Test on centos8 - Test on rockylinux8 - Test on debian10 - Test on debian11 kind: pipeline name: Notify steps: - image: drillster/drone-email name: notify by email settings: from: drone@guise.net.nz host: mail.guise.net.nz password: from_secret: EMAIL_PASS username: from_secret: EMAIL_USER type: docker when: status: - success - failure