local PipelineBuild(arch='amd64') = { kind: 'pipeline', name: 'build-' + arch, platform: { os: 'linux', arch: arch, }, steps: [ { name: 'dryrun', image: 'plugins/docker', settings: { dry_run: true, dockerfile: 'Dockerfile', repo: 'xoxys/${DRONE_REPO_NAME}', username: { from_secret: 'docker_username' }, password: { from_secret: 'docker_password' }, build_args: [], }, when: { ref: [ 'refs/pull/**', ], }, }, { name: 'publish', image: 'plugins/docker', settings: { auto_tag: true, auto_tag_suffix: arch, dockerfile: 'Dockerfile', repo: 'xoxys/${DRONE_REPO_NAME}', username: { from_secret: 'docker_username' }, password: { from_secret: 'docker_password' }, build_args: [], }, when: { ref: [ 'refs/heads/master', 'refs/tags/**', ], }, }, { name: 'publish-gitea', image: 'plugins/gitea-release', settings: { api_key: { from_secret: 'gitea_token' }, base_url: 'https://gitea.rknet.org', overwrite: true, title: '${DRONE_TAG}', note: 'CHANGELOG.md', }, when: { ref: ['refs/tags/**'], }, }, ], }; local PipelineNotifications(depends_on=[]) = { kind: 'pipeline', name: 'notifications', platform: { os: 'linux', arch: 'amd64', }, steps: [ { image: 'plugins/manifest', name: 'manifest', settings: { ignore_missing: true, tags: [ '${DRONE_TAG}', '${DRONE_TAG%-*}', '${DRONE_TAG%.*}', '${DRONE_TAG%%.*}', ], username: { from_secret: 'docker_username' }, password: { from_secret: 'docker_password' }, spec: 'manifest.tmpl', }, when: { status: [ 'success', ], }, }, { name: 'readme', image: 'sheogorath/readme-to-dockerhub', environment: { DOCKERHUB_USERNAME: { from_secret: 'docker_username' }, DOCKERHUB_PASSWORD: { from_secret: 'docker_password' }, DOCKERHUB_REPO_PREFIX: 'xoxys', DOCKERHUB_REPO_NAME: '${DRONE_REPO_NAME}', README_PATH: 'README.md', SHORT_DESCRIPTION: 'Rootless NGINX - High-performance HTTP server and reverse proxy', }, when: { status: [ 'success', ], }, }, { name: 'matrix', image: 'plugins/matrix', settings: { homeserver: { from_secret: 'matrix_homeserver' }, roomid: { from_secret: 'matrix_roomid' }, 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' }, }, when: { status: [ 'success', 'failure', ], }, }, ], trigger: { ref: [ 'refs/heads/master', 'refs/tags/**', ], status: [ 'success', 'failure', ], }, depends_on: depends_on, }; [ PipelineBuild(arch='amd64'), PipelineNotifications(depends_on=[ 'build-amd64', ]), ]