| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | local pipeline(version) = {    kind: "pipeline",    name: "node-v" + version,    steps: [        {            name: "tests",            image: "node:" + version,            commands: [                "node -v",                "uname -r",                "npm install",                "npm test"            ]        },    ],    services: [      {        name: "mongodb",        image: "mongo:3.4",        environment: {          AUTH: "no"        },      },      {        name: "redis",        image: "redis:5",      },      {        name: "mysql",        image: "mysql:5",        environment: {          MYSQL_DATABASE: "test",          MYSQL_ROOT_PASSWORD: "password"        },      },      {        name: "postgres",        image: "postgres:11",        environment: {          POSTGRES_DB: "test",          POSTGRES_PASSWORD: "password"        },      },    ],    trigger: {      event: ["push", "pull_request"]    },};[    pipeline("8"),    pipeline("10"),    pipeline("12"),    pipeline("13"),    pipeline("14"),    {        kind: "pipeline",        name: "build & publish",        trigger: {          event: "tag"        },        steps: [          {            name: "build",            image: "node:8",            commands: [              "export PATH=$PATH:./node_modules/.bin/",              "yarn 2> /dev/null",              "mkdir build",              "yarn run build",            ],          },          {            name: "publish",            image: "plugins/npm",            settings: {              username: {                from_secret: "npm_username"              },              password: {                from_secret: "npm_password"              },              email: {                from_secret: "npm_email"              },            },          },        ],    },    {        kind: "secret",        name: "npm_username",        get: {          path: "secret/drone/npm",          name: "username",        },    },    {        kind: "secret",        name: "npm_email",        get: {          path: "secret/drone/npm",          name: "email",        },    },    {        kind: "secret",        name: "npm_password",        get: {          path: "secret/drone/npm",          name: "password",        },    }]
 |