local PipelineTest = { kind: 'pipeline', name: 'test', platform: { os: 'linux', arch: 'amd64', }, steps: [ { name: 'markdownlint', image: 'thegeeklab/markdownlint-cli', commands: [ "markdownlint 'README.md'", ], }, ], trigger: { ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'], }, }; local DistVersion(version='7') = { name: 'build-el' + version, image: 'thegeeklab/rpmbuild:' + version, commands: [ 'source /drone/src/.drone.env', 'rm -rf /etc/xinetd.d/ && rpmbuild -ba --without libusb1 --define "version_ $${CUPS_VERSION##v}" cups.spec', 'ls -l /drone/src/dist/RPMS/x86_64/', ], depends_on: [ 'clone', ], }; local PipelineBuildPackage = { kind: 'pipeline', name: 'build-packages', platform: { os: 'linux', arch: 'amd64', }, steps: [ DistVersion(version='7'), DistVersion(version='8'), { name: 'checksum', image: 'alpine', commands: [ 'cd /drone/src/dist/RPMS/x86_64/ && sha256sum * > /drone/src/dist/sha256sum.txt', ], depends_on: [ 'build-el7', 'build-el8', ], }, { name: 'changelog-generate', image: 'thegeeklab/git-chglog', commands: [ 'git fetch -tq', 'git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}', ], depends_on: [ 'checksum', ], }, { name: 'changelog-format', image: 'thegeeklab/alpine-tools', commands: [ 'prettier CHANGELOG.md', 'prettier -w CHANGELOG.md', ], depends_on: [ 'changelog-generate', ], }, { name: 'publish-gitea', image: 'plugins/gitea-release', settings: { api_key: { from_secret: 'gitea_token', }, base_url: 'https://gitea.rknet.org', files: [ '/drone/src/dist/RPMS/x86_64/*', '/drone/src/dist/sha256sum.txt', ], note: 'CHANGELOG.md', overwrite: true, title: '${DRONE_TAG}', }, when: { ref: [ 'refs/tags/**', ], }, depends_on: [ 'changelog-format', ], }, ], depends_on: [ 'test', ], trigger: { ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'], }, }; local PipelineNotifications = { kind: 'pipeline', name: 'notifications', platform: { os: 'linux', arch: 'amd64', }, steps: [ { name: 'matrix', image: 'thegeeklab/drone-matrix', settings: { homeserver: { from_secret: 'matrix_homeserver' }, roomid: { from_secret: 'matrix_roomid' }, template: 'Status: **{{ build.Status }}**
Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.Link }}){{#if build.Branch}} ({{ build.Branch }}){{/if}} by {{ commit.Author }}
Message: {{ commit.Message.Title }}', username: { from_secret: 'matrix_username' }, password: { from_secret: 'matrix_password' }, }, when: { status: ['success', 'failure'], }, }, ], depends_on: [ 'build-package-el7', 'build-package-el8', ], trigger: { ref: ['refs/heads/master', 'refs/tags/**'], status: ['success', 'failure'], }, }; [ PipelineTest, PipelineBuildPackage, PipelineNotifications, ]