aboutsummaryrefslogtreecommitdiff
path: root/ci.yml
blob: 49c0eb3d55ba81b2f6a13a3c47f1ab29e93988fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
alerts: &alerts
  on_failure:
    put: alert-email
    params: &email-params
      subject_text: "${BUILD_PIPELINE_NAME} (${BUILD_JOB_NAME}): build ${BUILD_ID} failed!"
      body_text: |
        ${BUILD_NAME} failed!
        Build ID: ${BUILD_ID}
        Build Name: ${BUILD_NAME}
        Build Job Name: ${BUILD_JOB_NAME}
        Build Pipeline Name: ${BUILD_PIPELINE_NAME}
        ATC External URL: ${ATC_EXTERNAL_URL}
        Direct link: ${ATC_EXTERNAL_URL}/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}
  on_error:
    put: alert-email
    params: *email-params

resource_types:
  - name: email
    type: docker-image
    source:
      repository: pcfseceng/email-resource

resources:
  - name: hm-extra
    type: git
    icon: git
    source:
      uri: https://git.segundo.io/nix/hm-extra
      branch: master

  - name: concourse
    type: git
    icon: toolbox
    source:
      uri: https://git.segundo.io/concourse

  - name: daily-trigger
    type: time
    icon: clock-fast
    source:
      interval: 24h

  - name: alert-email
    type: email
    source:
      smtp:
        host: ((alerts-stmp-host))
        port: "((alerts-stmp-port))"  # this must be a string
        username: ((alerts-stmp-username))
        password: ((alerts-stmp-password))
      from: ((alerts-from))
      to: ["((alerts-to))"]

jobs:
  - name: linters
    <<: *alerts
    serial: true
    plan:
      - in_parallel:
          fail_fast: true
          steps:
            - get: hm-extra
              trigger: true
            - get: concourse
              trigger: true
            - get: daily-trigger
              trigger: true

      - in_parallel:
          fail_fast: false
          steps:
            - task: deadnix
              file: concourse/tasks/deadnix/task.yml
              input_mapping:
                file-paths: hm-extra

            - task: statix
              file: concourse/tasks/statix/task.yml
              input_mapping:
                file-path: hm-extra

            - task: nixpkgs-fmt
              file: concourse/tasks/nixpkgs-fmt/task.yml
              input_mapping:
                file-path: hm-extra