From 40fbe6a66f265c12c7ab20aa8638fe6ad380a5fe Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Fri, 1 Mar 2019 11:48:32 +0100 Subject: [PATCH] switch to jsonnet --- .drone.1.yml | 58 ++++++++++++++++ .drone.jsonnet | 90 +++++++++++++++++++++++++ .drone.yml | 103 +++++++++++++++-------------- .yamllint | 13 ---- molecule/gce-centos-7/molecule.yml | 4 +- pytest.ini => molecule/pytest.ini | 0 6 files changed, 204 insertions(+), 64 deletions(-) create mode 100644 .drone.1.yml create mode 100644 .drone.jsonnet delete mode 100644 .yamllint rename pytest.ini => molecule/pytest.ini (100%) diff --git a/.drone.1.yml b/.drone.1.yml new file mode 100644 index 0000000..4c9c9c6 --- /dev/null +++ b/.drone.1.yml @@ -0,0 +1,58 @@ +--- +kind: pipeline +name: default + +workspace: + base: /drone/src + path: xoxys.nginx + +steps: + - name: ansible-latest + image: python:2.7 + pull: always + environment: + PY_COLORS: 1 + commands: + - pip install ansible ansible-later -qq + - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + - git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini + depends_on: [ clone ] + + - name: ansible-master + image: python:2.7 + pull: always + environment: + PY_COLORS: 1 + commands: + - pip install git+https://github.com/ansible/ansible.git@devel -qq + - pip install ansible-later -qq + - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + - git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini + depends_on: [ clone ] + + - name: molecule + image: xoxys/molecule:gce + pull: always + environment: + GCE_SSH_KEY: + from_secret: gce_ssh_key + GCE_SERVICE_ACCOUNT_EMAIL: + from_secret: gce_service_account_email + GCE_PROJECT_ID: + from_secret: gce_project_id + GCE_CREDENTIALS_JSON: + from_secret: gce_credentials_json + GCE_SSH_USER: + from_secret: gce_ssh_user + GCE_CREDENTIALS_FILE: $HOME/ansible-testing.json + PY_COLORS: 1 + commands: + - mkdir ./library/ + - git clone https://gitea.rknet.org/ansible/custom_modules ./library/ + - echo "$GCE_SSH_KEY" > $HOME/.ssh/google_compute_engine + - chmod 600 $HOME/.ssh/google_compute_engine + - echo "$GCE_CREDENTIALS_JSON" > $HOME/ansible-testing.json + - molecule create --scenario-name gce-centos-7 + - molecule converge --scenario-name gce-centos-7 + - molecule verify --scenario-name gce-centos-7 + - molecule destroy --scenario-name gce-centos-7 diff --git a/.drone.jsonnet b/.drone.jsonnet new file mode 100644 index 0000000..35e280b --- /dev/null +++ b/.drone.jsonnet @@ -0,0 +1,90 @@ +local AnsibleVersions(version="latest", package="ansible") = { + name: "ansible-" + version, + image: "python:3.7", + pull: "always", + environment: { + PY_COLORS: 1 + }, + commands: [ + "pip install " + package + " ansible-later -qq", + "git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy", + "git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini" + ], + depends_on: [ + "clone", + ], +}; + +local PipelineTesting = { + kind: "pipeline", + name: "testing", + platform: { + os: "linux", + arch: "amd64", + }, + workspace: { + base: "/drone/src", + path: "xoxys.nginx" + }, + steps: [ + AnsibleVersions(version="latest", package="ansible"), + AnsibleVersions(version="master", package="git+https://github.com/ansible/ansible.git@devel"), + { + name: "molecule", + image: "xoxys/molecule:gce", + pull: "always", + environment: { + GCE_SSH_KEY: { "from_secret": "gce_ssh_key" }, + GCE_SERVICE_ACCOUNT_EMAIL: { "from_secret": "gce_service_account_email" }, + GCE_PROJECT_ID: { "from_secret": "gce_project_id" }, + GCE_CREDENTIALS_JSON: { "from_secret": "gce_credentials_json" }, + GCE_SSH_USER: { "from_secret": "gce_ssh_user" }, + GCE_CREDENTIALS_FILE: "$HOME/ansible-testing.json", + PY_COLORS: 1 + }, + commands: [ + "mkdir ./library/", + "git clone https://gitea.rknet.org/ansible/custom_modules ./library/", + "echo \"$GCE_SSH_KEY\" > $HOME/.ssh/google_compute_engine", + "chmod 600 $HOME/.ssh/google_compute_engine", + "echo \"$GCE_CREDENTIALS_JSON\" > $HOME/ansible-testing.json", + "molecule create --scenario-name gce-centos-7", + "molecule converge --scenario-name gce-centos-7", + "molecule verify --scenario-name gce-centos-7", + "molecule destroy --scenario-name gce-centos-7", + ], + }, + ], +}; + +local PipelineNotifications = { + kind: "pipeline", + name: "notifications", + platform: { + os: "linux", + arch: "amd64", + }, + steps: [ + { + image: "plugins/matrix", + settings: { + homeserver: "https://matrix.rknet.org", + roomid: "MtidqQXWWAtQcByBhH:rknet.org", + template: "Status: **{{ build.status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}
Message: {{ build.message }}", + username: { "from_secret": "matrix_username" }, + password: { "from_secret": "matrix_password" }, + }, + }, + ], + depends_on: [ + "testing", + ], + trigger: { + event: [ "push", "tag" ], + status: [ "success", "failure" ], + }, +}; + +[ + PipelineTesting, +] diff --git a/.drone.yml b/.drone.yml index 4c9c9c6..61cf231 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,58 +1,65 @@ --- kind: pipeline -name: default +name: testing + +platform: + os: linux + arch: amd64 workspace: base: /drone/src path: xoxys.nginx steps: - - name: ansible-latest - image: python:2.7 - pull: always - environment: - PY_COLORS: 1 - commands: - - pip install ansible ansible-later -qq - - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy - - git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini - depends_on: [ clone ] +- name: ansible-latest + pull: always + image: python:3.7 + commands: + - pip install ansible ansible-later -qq + - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + - "git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini" + environment: + PY_COLORS: 1 + depends_on: + - clone + +- name: ansible-master + pull: always + image: python:3.7 + commands: + - "pip install git+https://github.com/ansible/ansible.git@devel ansible-later -qq" + - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy + - "git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini" + environment: + PY_COLORS: 1 + depends_on: + - clone - - name: ansible-master - image: python:2.7 - pull: always - environment: - PY_COLORS: 1 - commands: - - pip install git+https://github.com/ansible/ansible.git@devel -qq - - pip install ansible-later -qq - - git clone https://gitea.rknet.org/ansible/ansible-later-policy.git ~/policy - - git ls-files *[^LICENSE,.md,molecule,.ini] | xargs ansible-later -c ~/policy/config.ini - depends_on: [ clone ] +- name: molecule + pull: always + image: xoxys/molecule:gce + commands: + - mkdir ./library/ + - git clone https://gitea.rknet.org/ansible/custom_modules ./library/ + - "echo \"$GCE_SSH_KEY\" > $HOME/.ssh/google_compute_engine" + - chmod 600 $HOME/.ssh/google_compute_engine + - "echo \"$GCE_CREDENTIALS_JSON\" > $HOME/ansible-testing.json" + - molecule create --scenario-name gce-centos-7 + - molecule converge --scenario-name gce-centos-7 + - molecule verify --scenario-name gce-centos-7 + - molecule destroy --scenario-name gce-centos-7 + environment: + GCE_CREDENTIALS_FILE: $HOME/ansible-testing.json + GCE_CREDENTIALS_JSON: + from_secret: gce_credentials_json + GCE_PROJECT_ID: + from_secret: gce_project_id + GCE_SERVICE_ACCOUNT_EMAIL: + from_secret: gce_service_account_email + GCE_SSH_KEY: + from_secret: gce_ssh_key + GCE_SSH_USER: + from_secret: gce_ssh_user + PY_COLORS: 1 - - name: molecule - image: xoxys/molecule:gce - pull: always - environment: - GCE_SSH_KEY: - from_secret: gce_ssh_key - GCE_SERVICE_ACCOUNT_EMAIL: - from_secret: gce_service_account_email - GCE_PROJECT_ID: - from_secret: gce_project_id - GCE_CREDENTIALS_JSON: - from_secret: gce_credentials_json - GCE_SSH_USER: - from_secret: gce_ssh_user - GCE_CREDENTIALS_FILE: $HOME/ansible-testing.json - PY_COLORS: 1 - commands: - - mkdir ./library/ - - git clone https://gitea.rknet.org/ansible/custom_modules ./library/ - - echo "$GCE_SSH_KEY" > $HOME/.ssh/google_compute_engine - - chmod 600 $HOME/.ssh/google_compute_engine - - echo "$GCE_CREDENTIALS_JSON" > $HOME/ansible-testing.json - - molecule create --scenario-name gce-centos-7 - - molecule converge --scenario-name gce-centos-7 - - molecule verify --scenario-name gce-centos-7 - - molecule destroy --scenario-name gce-centos-7 +... diff --git a/.yamllint b/.yamllint deleted file mode 100644 index 3a2255e..0000000 --- a/.yamllint +++ /dev/null @@ -1,13 +0,0 @@ -extends: default - -rules: - braces: - max-spaces-inside: 1 - level: error - brackets: - max-spaces-inside: 1 - level: error - line-length: disable - # NOTE(retr0h): Templates no longer fail this lint rule. - # Uncomment if running old Molecule templates. - # truthy: disable diff --git a/molecule/gce-centos-7/molecule.yml b/molecule/gce-centos-7/molecule.yml index d0a43fc..c7b5d82 100644 --- a/molecule/gce-centos-7/molecule.yml +++ b/molecule/gce-centos-7/molecule.yml @@ -22,9 +22,7 @@ verifier: lint: name: flake8 ansible: - raw_env_vars: - ANSIBLE_TIMEOUT: 60 ansiblecfg_defaults: force_color: true - nocolor: false roles_path: /drone/src + timeout: 60 diff --git a/pytest.ini b/molecule/pytest.ini similarity index 100% rename from pytest.ini rename to molecule/pytest.ini