This commit is contained in:
parent
affe22e399
commit
3918e0ea30
262
.drone.jsonnet
262
.drone.jsonnet
@ -1,141 +1,155 @@
|
||||
local PipelineLinting = {
|
||||
kind: "pipeline",
|
||||
name: "linting",
|
||||
platform: {
|
||||
os: "linux",
|
||||
arch: "amd64",
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "ansible-later",
|
||||
image: "xoxys/ansible-later:latest",
|
||||
commands: [
|
||||
"ansible-later",
|
||||
],
|
||||
},
|
||||
],
|
||||
trigger: {
|
||||
ref: ["refs/heads/master", "refs/tags/**", "refs/pull/**"],
|
||||
kind: 'pipeline',
|
||||
name: 'linting',
|
||||
platform: {
|
||||
os: 'linux',
|
||||
arch: 'amd64',
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: 'ansible-later',
|
||||
image: 'xoxys/ansible-later:latest',
|
||||
commands: [
|
||||
'ansible-later',
|
||||
],
|
||||
},
|
||||
],
|
||||
trigger: {
|
||||
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
|
||||
},
|
||||
};
|
||||
|
||||
local PipelineDeployment = {
|
||||
kind: "pipeline",
|
||||
name: "deployment",
|
||||
platform: {
|
||||
os: "linux",
|
||||
arch: "amd64",
|
||||
},
|
||||
concurrency: {
|
||||
limit: 1
|
||||
},
|
||||
workspace: {
|
||||
base: "/drone/src",
|
||||
path: "xoxys.homeassistant"
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "ansible-molecule",
|
||||
image: "xoxys/molecule:latest",
|
||||
environment: {
|
||||
DO_API_KEY: { "from_secret": "do_api_key" },
|
||||
USER: "root",
|
||||
MOLECULE_CUSTOM_MODULES_REPO: "https://gitea.rknet.org/ansible/custom_modules",
|
||||
MOLECULE_CUSTOM_FILTERS_REPO: "https://gitea.rknet.org/ansible/custom_filters",
|
||||
},
|
||||
commands: [
|
||||
"molecule test -s default",
|
||||
],
|
||||
},
|
||||
],
|
||||
depends_on: [
|
||||
"linting",
|
||||
],
|
||||
trigger: {
|
||||
ref: ["refs/heads/master", "refs/tags/**"],
|
||||
local PipelineDeployment(scenario='centos7') = {
|
||||
kind: 'pipeline',
|
||||
name: 'testing-' + scenario,
|
||||
platform: {
|
||||
os: 'linux',
|
||||
arch: 'amd64',
|
||||
},
|
||||
concurrency: {
|
||||
limit: 1,
|
||||
},
|
||||
workspace: {
|
||||
base: '/drone/src',
|
||||
path: 'xoxys.homeassistant',
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: 'ansible-molecule',
|
||||
image: 'xoxys/molecule:latest',
|
||||
environment: {
|
||||
DO_API_KEY: { from_secret: 'do_api_key' },
|
||||
USER: 'root',
|
||||
MOLECULE_CUSTOM_MODULES_REPO: 'https://gitea.rknet.org/ansible/custom_modules',
|
||||
MOLECULE_CUSTOM_FILTERS_REPO: 'https://gitea.rknet.org/ansible/custom_filters',
|
||||
},
|
||||
commands: [
|
||||
'molecule test -s' + scenario,
|
||||
],
|
||||
},
|
||||
],
|
||||
depends_on: [
|
||||
'linting',
|
||||
],
|
||||
trigger: {
|
||||
ref: ['refs/heads/master', 'refs/tags/**'],
|
||||
},
|
||||
};
|
||||
|
||||
local PipelineDocumentation = {
|
||||
kind: "pipeline",
|
||||
name: "documentation",
|
||||
platform: {
|
||||
os: "linux",
|
||||
arch: "amd64",
|
||||
kind: 'pipeline',
|
||||
name: 'documentation',
|
||||
platform: {
|
||||
os: 'linux',
|
||||
arch: 'amd64',
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: 'generate',
|
||||
image: 'xoxys/ansible-doctor:latest',
|
||||
environment: {
|
||||
ANSIBLE_DOCTOR_LOG_LEVEL: 'INFO',
|
||||
ANSIBLE_DOCTOR_FORCE_OVERWRITE: true,
|
||||
ANSIBLE_DOCTOR_EXCLUDE_FILES: 'molecule/',
|
||||
ANSIBLE_DOCTOR_TEMPLATE: 'hugo-book',
|
||||
ANSIBLE_DOCTOR_ROLE_NAME: '${DRONE_REPO_NAME#*.}',
|
||||
ANSIBLE_DOCTOR_OUTPUT_DIR: '_docs/',
|
||||
},
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "ansible-doctor",
|
||||
image: "xoxys/ansible-doctor:latest",
|
||||
environment: {
|
||||
ANSIBLE_DOCTOR_LOG_LEVEL: "INFO",
|
||||
ANSIBLE_DOCTOR_FORCE_OVERWRITE: true,
|
||||
ANSIBLE_DOCTOR_EXCLUDE_FILES: "molecule/",
|
||||
ANSIBLE_DOCTOR_CUSTOM_HEADER: "HEADER.md",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "push-to-repo",
|
||||
image: "plugins/git-action:latest",
|
||||
settings: {
|
||||
actions: ["commit", "push"],
|
||||
author_email: "shipper@rknet.org",
|
||||
author_name: "DroneShipper",
|
||||
branch: "master",
|
||||
message: "[SKIP CI] update readme",
|
||||
remote: "https://gitea.rknet.org/ansible/xoxys.homeassistant",
|
||||
netrc_machine: "gitea.rknet.org",
|
||||
netrc_username: {"from_secret": "gitea_username"},
|
||||
netrc_password: {"from_secret": "gitea_token"},
|
||||
},
|
||||
when: {
|
||||
ref: ["refs/heads/master"],
|
||||
},
|
||||
},
|
||||
],
|
||||
depends_on: [
|
||||
"deployment",
|
||||
],
|
||||
trigger: {
|
||||
ref: ["refs/heads/master", "refs/tags/**", "refs/pull/**"],
|
||||
{
|
||||
name: 'publish',
|
||||
image: 'plugins/gh-pages:latest',
|
||||
settings: {
|
||||
remote_url: 'https://gitea.rknet.org/ansible/xoxys.homeassistant',
|
||||
netrc_machine: 'gitea.rknet.org',
|
||||
username: { from_secret: 'gitea_username' },
|
||||
password: { from_secret: 'gitea_token' },
|
||||
pages_directory: '_docs/',
|
||||
target_branch: 'docs',
|
||||
},
|
||||
when: {
|
||||
ref: ['refs/heads/master'],
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'trigger',
|
||||
image: 'plugins/downstream',
|
||||
settings: {
|
||||
server: 'https://drone.rknet.org',
|
||||
token: { from_secret: 'drone_token' },
|
||||
fork: true,
|
||||
repositories: [
|
||||
'ansible/ansible-galaxy',
|
||||
],
|
||||
},
|
||||
when: {
|
||||
ref: ['refs/heads/master'],
|
||||
},
|
||||
},
|
||||
],
|
||||
trigger: {
|
||||
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
|
||||
},
|
||||
depends_on: [
|
||||
'testing-centos7',
|
||||
],
|
||||
};
|
||||
|
||||
local PipelineNotification= {
|
||||
kind: "pipeline",
|
||||
name: "notification",
|
||||
platform: {
|
||||
os: "linux",
|
||||
arch: "amd64",
|
||||
},
|
||||
clone: {
|
||||
disable: true,
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: "matrix",
|
||||
image: "plugins/matrix",
|
||||
settings: {
|
||||
homeserver: { "from_secret": "matrix_homeserver" },
|
||||
roomid: { "from_secret": "matrix_roomid" },
|
||||
template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}",
|
||||
username: { "from_secret": "matrix_username" },
|
||||
password: { "from_secret": "matrix_password" },
|
||||
},
|
||||
},
|
||||
],
|
||||
depends_on: [
|
||||
"documentation",
|
||||
],
|
||||
trigger: {
|
||||
status: [ "success", "failure" ],
|
||||
ref: ["refs/heads/master", "refs/tags/**"],
|
||||
local PipelineNotification = {
|
||||
kind: 'pipeline',
|
||||
name: 'notification',
|
||||
platform: {
|
||||
os: 'linux',
|
||||
arch: 'amd64',
|
||||
},
|
||||
clone: {
|
||||
disable: true,
|
||||
},
|
||||
steps: [
|
||||
{
|
||||
name: 'matrix',
|
||||
image: 'plugins/matrix',
|
||||
settings: {
|
||||
homeserver: { from_secret: 'matrix_homeserver' },
|
||||
roomid: { from_secret: 'matrix_roomid' },
|
||||
template: 'Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}',
|
||||
username: { from_secret: 'matrix_username' },
|
||||
password: { from_secret: 'matrix_password' },
|
||||
},
|
||||
},
|
||||
],
|
||||
depends_on: [
|
||||
'documentation',
|
||||
],
|
||||
trigger: {
|
||||
status: ['success', 'failure'],
|
||||
ref: ['refs/heads/master', 'refs/tags/**'],
|
||||
},
|
||||
};
|
||||
|
||||
[
|
||||
PipelineLinting,
|
||||
PipelineDeployment,
|
||||
PipelineDocumentation,
|
||||
PipelineNotification,
|
||||
PipelineLinting,
|
||||
PipelineDeployment(scenario='centos7'),
|
||||
PipelineDocumentation,
|
||||
PipelineNotification,
|
||||
]
|
||||
|
46
.drone.yml
46
.drone.yml
@ -20,7 +20,7 @@ trigger:
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: deployment
|
||||
name: testing-centos7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
@ -37,7 +37,7 @@ steps:
|
||||
- name: ansible-molecule
|
||||
image: xoxys/molecule:latest
|
||||
commands:
|
||||
- molecule test -s default
|
||||
- molecule test -scentos7
|
||||
environment:
|
||||
DO_API_KEY:
|
||||
from_secret: do_api_key
|
||||
@ -62,30 +62,40 @@ platform:
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: ansible-doctor
|
||||
- name: generate
|
||||
image: xoxys/ansible-doctor:latest
|
||||
environment:
|
||||
ANSIBLE_DOCTOR_CUSTOM_HEADER: HEADER.md
|
||||
ANSIBLE_DOCTOR_EXCLUDE_FILES: molecule/
|
||||
ANSIBLE_DOCTOR_FORCE_OVERWRITE: true
|
||||
ANSIBLE_DOCTOR_LOG_LEVEL: INFO
|
||||
ANSIBLE_DOCTOR_OUTPUT_DIR: _docs/
|
||||
ANSIBLE_DOCTOR_ROLE_NAME: ${DRONE_REPO_NAME#*.}
|
||||
ANSIBLE_DOCTOR_TEMPLATE: hugo-book
|
||||
|
||||
- name: push-to-repo
|
||||
image: plugins/git-action:latest
|
||||
- name: publish
|
||||
image: plugins/gh-pages:latest
|
||||
settings:
|
||||
actions:
|
||||
- commit
|
||||
- push
|
||||
author_email: shipper@rknet.org
|
||||
author_name: DroneShipper
|
||||
branch: master
|
||||
message: "[SKIP CI] update readme"
|
||||
netrc_machine: gitea.rknet.org
|
||||
netrc_password:
|
||||
pages_directory: _docs/
|
||||
password:
|
||||
from_secret: gitea_token
|
||||
netrc_username:
|
||||
remote_url: https://gitea.rknet.org/ansible/xoxys.homeassistant
|
||||
target_branch: docs
|
||||
username:
|
||||
from_secret: gitea_username
|
||||
remote: https://gitea.rknet.org/ansible/xoxys.homeassistant
|
||||
when:
|
||||
ref:
|
||||
- refs/heads/master
|
||||
|
||||
- name: trigger
|
||||
image: plugins/downstream
|
||||
settings:
|
||||
fork: true
|
||||
repositories:
|
||||
- ansible/ansible-galaxy
|
||||
server: https://drone.rknet.org
|
||||
token:
|
||||
from_secret: drone_token
|
||||
when:
|
||||
ref:
|
||||
- refs/heads/master
|
||||
@ -97,7 +107,7 @@ trigger:
|
||||
- refs/pull/**
|
||||
|
||||
depends_on:
|
||||
- deployment
|
||||
- testing-centos7
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
@ -137,6 +147,6 @@ depends_on:
|
||||
|
||||
---
|
||||
kind: signature
|
||||
hmac: 2618c39becfa75ca3f3f10e745552311f39f753e5a500f2407233e341b51b496
|
||||
hmac: 9cd460b23908b6b1b3f01dc8af2ca004927cb37885c41e0a306d5ac7fa9fe860
|
||||
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user