resource_types: - name: pull-request type: docker-image source: repository: jtarchie/pr - name: copr type: docker-image source: repository: quay.io/ahoi/concourse-copr-resource resources: - name: git-clone-resource type: git source: branch: master uri: https://github.com/drahnr/oregano.git - name: git-ci type: git source: branch: master uri: https://github.com/drahnr/oregano.git paths: - .concourse/* - .concourse/**/* - .concourse/fedora/* - .concourse/ubuntu/* - name: git-tag-resource type: git source: tag_filter: "v[0-9]*" branch: master uri: https://github.com/drahnr/oregano.git - name: git-pull-request-resource type: pull-request source: repo: drahnr/oregano access_token: ((sirmergealot-github-token)) - name: copr-resource type: copr source: login: ((copr-login)) token: ((copr-token)) url: ((copr-url)) - name: oregano-test-fedora type: docker-image source: repository: quay.io/ratpoison/oregano-test-fedora username: ((quay-ratpoison-username)) password: ((quay-ratpoison-password)) max_concurrent_downloads: 2 max_concurrent_uploads: 2 - name: oregano-test-ubuntu type: docker-image source: repository: quay.io/ratpoison/oregano-test-ubuntu username: ((quay-ratpoison-username)) password: ((quay-ratpoison-password)) max_concurrent_downloads: 2 max_concurrent_uploads: 2 - name: deb-release type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-rc regexp: (.*).deb access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: rpm-release type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-rc regexp: (.*).rpm access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: source-release type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-rc regexp: (.*).tar.xz access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: deb-drop type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-drop regexp: (.*).deb access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: rpm-drop type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-drop regexp: (.*).rpm access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: source-drop type: s3 source: endpoint: https://minio.spearow.io bucket: oregano-drop regexp: (.*).tar.xz access_key_id: ((minio-access-key)) secret_access_key: ((minio-secret-key)) - name: gh-release type: github-release source: owner: drahnr repository: oregano access_token: ((drahnr-github-token)) groups: - name: release jobs: - source-release - build-pkg-deb-release - build-pkg-rpm-release - make-release - name: master jobs: - build-pkg-deb - build-pkg-rpm - compile - name: pr jobs: - pr-validate - name: env jobs: - oci-fedora - oci-ubuntu jobs: - name: oci-fedora serial_groups: [constructors] build_logs_to_retain: 2 plan: - get: oregano-test-fedora - get: git-ci trigger: true - task: gen-container image: oregano-test-fedora config: platform: linux inputs: - name: git-ci outputs: - name: copycat run: path: sh args: - -exc - | cp -rfv .concourse/fedora/Dockerfile ../copycat/ cp -rfv .concourse/fedora/pkg.lst ../copycat/ dir: git-ci - put: oregano-test-fedora params: build: copycat tag_as_latest: true - name: oci-ubuntu serial_groups: [constructors] build_logs_to_retain: 2 plan: - get: oregano-test-ubuntu - get: git-ci trigger: true - task: gen-container image: oregano-test-ubuntu config: platform: linux inputs: - name: git-ci outputs: - name: copycat run: path: sh args: - -exc - | cp -rfv .concourse/ubuntu/Dockerfile ../copycat/ cp -rfv .concourse/ubuntu/pkg.lst ../copycat/ dir: git-ci - put: oregano-test-ubuntu params: build: copycat tag_as_latest: true - name: pr-validate build_logs_to_retain: 20 public: true plan: - aggregate: - get: oregano-test-fedora trigger: true - get: oregano-test-ubuntu trigger: true - get: git-pull-request-resource trigger: true - aggregate: - task: compile timeout: 5m image: oregano-test-fedora config: platform: linux inputs: - name: git-pull-request-resource run: path: sh args: - -exc - | ./waf configure build --debug --prefix=/tmp install ./build/test/microtests dir: "git-pull-request-resource" - task: create-rpm timeout: 15m image: oregano-test-fedora config: platform: linux inputs: - name: git-pull-request-resource run: path: .concourse/fedora/buildrpm.sh dir: git-pull-request-resource - task: create-deb timeout: 15m image: oregano-test-ubuntu config: platform: linux inputs: - name: git-pull-request-resource run: path: debuild args: ["-i", "-us", "-uc", "-b"] dir: git-pull-request-resource on_success: put: git-pull-request-resource params: path: git-pull-request-resource status: success on_failure: put: git-pull-request-resource params: path: git-pull-request-resource status: failure - name: compile build_logs_to_retain: 10 public: true plan: - aggregate: - get: oregano-test-fedora trigger: true - get: git-clone-resource trigger: true - task: compile timeout: 15m image: oregano-test-fedora config: platform: linux inputs: - name: git-clone-resource outputs: - name: dist run: path: sh args: - -exc - | ./waf configure build --debug --prefix=/tmp install ./build/test/microtests && echo "tests passed" || cat ./build/test/test.log ./waf dist cp oregano-*.tar.xz ../dist/ dir: git-clone-resource - put: source-drop params: file: dist/oregano-*.tar.xz acl: public-read - name: build-pkg-rpm build_logs_to_retain: 5 public: true plan: - aggregate: - get: oregano-test-fedora trigger: true - get: git-clone-resource trigger: true passed: [compile] - task: create-rpm timeout: 15m image: oregano-test-fedora config: platform: linux inputs: - name: git-clone-resource outputs: - name: srpm - name: rpm run: path: ./.concourse/fedora/buildrpm.sh args: [ .. ] dir: git-clone-resource - put: rpm-drop params: file: rpm/oregano*.rpm acl: public-read - name: build-pkg-deb build_logs_to_retain: 5 public: true plan: - aggregate: - get: oregano-test-ubuntu trigger: true - get: git-clone-resource trigger: true passed: [compile] - task: create-deb timeout: 15m image: oregano-test-ubuntu config: platform: linux inputs: - name: git-clone-resource outputs: - name: deb run: path: sh args: - -exc - | mkdir quirk cp -rf git-clone-resource ./quirk/source cd quirk/source debuild -i -us -uc -b cd - cp quirk/oregano*.deb deb - put: deb-drop params: file: deb/oregano*.deb acl: public-read ############################################################################### - name: source-release build_logs_to_retain: 10 public: true plan: - aggregate: - get: oregano-test-fedora trigger: true - get: git-tag-resource trigger: true - task: source timeout: 15m image: oregano-test-fedora config: platform: linux inputs: - name: git-tag-resource outputs: - name: dist run: path: sh args: - -exc - | ./waf configure --debug --prefix=/tmp install ./waf dist cp oregano-*.tar.xz ../dist/ dir: git-tag-resource - put: source-release params: file: dist/oregano-*.tar.xz acl: public-read - name: build-pkg-rpm-release build_logs_to_retain: 5 public: true plan: - aggregate: - get: oregano-test-fedora trigger: true - get: git-tag-resource trigger: true - task: create-rpm timeout: 15m image: oregano-test-fedora config: platform: linux inputs: - name: git-tag-resource outputs: - name: srpm - name: rpm run: path: ./.concourse/fedora/buildrpm.sh args: [ .. ] dir: git-tag-resource - put: rpm-release params: file: rpm/oregano*.rpm acl: public-read - put: copr resource: copr-resource params: rpmbuild_dir: "srpm" chroots: ["fedora-rawhide-x86_64", "fedora-27-x86_64", "fedora-26-x86_64", "fedora-25-x86_64"] enable_net: false max_n_bytes: 250000000 project_id: 825 regex: ".*oregano-.*\\.src\\.rpm$" - name: build-pkg-deb-release build_logs_to_retain: 5 public: true plan: - aggregate: - get: oregano-test-ubuntu trigger: true - get: git-tag-resource trigger: true - task: create-deb timeout: 15m image: oregano-test-ubuntu config: platform: linux inputs: - name: git-tag-resource outputs: - name: deb run: path: sh args: - -exc - | mkdir quirk cp -rf git-tag-resource ./quirk/source cd quirk/source debuild -i -us -uc -b cd - cp quirk/oregano*.deb deb - put: deb-release params: file: deb/oregano*.deb acl: public-read - name: make-release build_logs_to_retain: 5 public: true plan: - aggregate: - get: git-tag-resource passed: [source-release,build-pkg-rpm-release, build-pkg-deb-release] trigger: true - get: oregano-test-fedora - get: source-release passed: [source-release] - get: rpm-release passed: [build-pkg-rpm-release] - get: deb-release passed: [build-pkg-deb-release] - task: tag2file timeout: 5m image: oregano-test-fedora config: platform: linux inputs: - name: git-tag-resource - name: source-release - name: deb-release - name: rpm-release outputs: - name: release-info run: path: sh args: - -exc - | git rev-parse HEAD > ../release-info/COMMITISH ./waf version cat VERSION > ../release-info/TAG echo "oregano" > ../release-info/NAME echo "Yet another release" > ../release-info/BODY dir: git-tag-resource - put: gh-release params: tag_prefix: v name: release-info/NAME tag: release-info/TAG body: release-info/BODY commitish: release-info/COMMITISH globs: - source-release/oregano-*.tar.xz - rpm-release/oregano-*.rpm - deb-release/oregano_*.deb