# == Zuul configuration file ==
#
# This file is used to configure this project and its associated jobs in Zuul.
# Zuul is the CI/CD tool which lets us check changes before they are committed,
# and build a canary version of the extension on a regular basis.
#
# More info about Zuul: https://zuul-ci.org/docs/zuul/

- job:
    name: infinitegforums-lint
    parent: web-ext-lint
    pre-run: playbooks/lint/pre.yaml
    run: playbooks/lint/run.yaml
    post-run: playbooks/lint/post.yaml
    vars:
      use_standalone_web_ext: false
      web_ext_command: "./node_modules/web-ext/bin/web-ext.js"
    irrelevant-files:
      - ".github/.*"
      - "docs/.*"
      - ".*/?OWNERS"
      - "README.md"
      - "cws/.*"
      - "roles/cws-publish/*"
      - "roles/fetch-cws-log/*"
      - "playbooks/nightly-build/*"

- job:
    name: infinitegforums-test-nightly-build
    pre-run: playbooks/nightly-build/pre.yaml
    run: playbooks/nightly-build/test.yaml
    roles:
      - zuul: zuul/jobs
    vars:
      credentials:
        clientId: "testClientId"
        refreshToken: "testRefreshToken"
    files:
      - "roles/cws-publish/*"
      - "playbooks/nightly-build/*"

- job:
    name: infinitegforums-nightly-build
    attempts: 1
    pre-run: playbooks/nightly-build/pre.yaml
    run: playbooks/nightly-build/run.yaml
    post-run: playbooks/nightly-build/post.yaml
    roles:
      - zuul: zuul/jobs
    secrets:
      - name: credentials
        secret: credentials_twpt

- project:
    check:
      jobs:
        - infinitegforums-test-nightly-build
        - infinitegforums-lint
    nightly-build:
      jobs:
        - infinitegforums-nightly-build

- secret:
    name: credentials_twpt
    data:
      clientId: !encrypted/pkcs1-oaep
        - IwVBqQ6KQ5mnoc3vS5Ksip3s0RyrQob5gU8oMNIO7vh7wWQiR0LZiiHEkiZ/LKRAzw5CG
          fI63YpqEtX5n2UWQ3b4H340g+r0rgNcyCGs9vG3AUlIj3977NysQFkJL1Vz+O9yuyhIr4
          inDDjzQvlNyUBLL1BNk+uWgwJFI8D821couOtHy0Ky4S3EyvVFYys1IhLQIp3eBW5fX5G
          /glIddp+2wDNxShPfrJkI3O8v3mxjHBQn6WtzYXKNPZo41KnHGo/RSjONGA4RkW70su+L
          xbm6dgOBqWa3puWkcJhoUPeqbBf/ImnNSfEfq5m3cSHWZ4VDCMi0oDJJQYQlYkJqH1nFK
          xz4i+L02GuVWFRozzS84wii8wG1PDs1MzpGSIYtSrcfVgoBtGZpbo9gSrYQ7PQCKS/a/r
          CUMweQ+udTinjrXPDfmCMsMq7GrwoDqxD+PEx76Cf9mx3Z/iPEw8HR+RSEEYQCKg+cLfl
          DoetOmLny3wm2mJrNY2Nl9wYLI9EYX9VQXB0bfJQ2fns77yQdAGezNsxKLol9NfiPfBF6
          K4gKcLW7rK+IdXKxta9lTVoljiwGfi9nC7I5qXstuxkZuLQk+zhfBpCm8cuUIkiO/ugjw
          bxGdisI2hFqhvwoCPxKx4LlJgL15yDmna1eCvkiTBfGdUXHNUm2zad/C2P/c7w=
      clientSecret: !encrypted/pkcs1-oaep
        - aPpesCDB64NuY4DSECdZLmytEOEsN4RFaWB9O/ClZt/+NXvMSAJceeamCgDdpIf/S0tAK
          oiEtVN5v4XVlRjuH2aPdr3/pg6ZCo7zYyNXZzz1zUv9QBQk5C9vTZAixHpXel+kU45swA
          GQV0oTrVGHBvdqDD4Y8Bajd7kNwdwOaLyCoUg/SG/mOQS3gXq2gwugOL8rFhB34t/X9S4
          hOv7oNyk8xA7SnJZeIxBShnFvJ6/YC6oP0vcPhgS5LMfgYneROapyY68kelh+U9zfYPal
          XuWuxAaSZwYb5hs4dJlv4JFZaJRvL/ru4jHth4x7CZO5XaJH50vWCzj+7ir2cxNm819G1
          LsqCRDn3ilru+BjihMay95L7Zl+RhcCqPc6oJeb0ZmJKyReigwoz4W3yayVo1bBwLwoWc
          +5GvIi3kAw9KsE7G4UG8EkruqdSWNz5hpl6Qr+OKG4Po0+U17jMRT64DyC4OS/D+h6KDI
          UMFJD0yzTk7CDPOxNHJDMUsmT1QtFy9+ALktA72C8rga0eFzVe/d6LTnYd1C28r77XeZ7
          JJbGFETuDc0tyfSRWVMFKmI7XPMBN90jXqCrQnTva7+e4P3OD6XzysgVFQx44EO7Cs+/U
          lWmUalaK8OCYApALMtwvDd+GRVn0/SQcfnImYj/CPPFS26V/1VzE0ajF6FDhfg=
      refreshToken: !encrypted/pkcs1-oaep
        - m4a6xAWD6nrAXcnOChTKO5Z2hewyKmS/h0tWTe6b7Bpe3YGX3sCzdjg4t5noXGiA4cA1e
          5dRtM8xeki8H1QEOFkkTV567GKog+v2JH9phH9qn/I0IT627T8KC9bTdwhUPgOne4Qnwt
          c6RgleHH23uyxgKbhmCjb1BJgQvd8zl3MEFybBAz91S/+Q8YGY/XEkoYN/YuPHQA0Qm8w
          1S+fv2Rr9d8J1KZW9lSKgbGDHMK1/K/tSqGVFUW42jtrhTpdAvo3I6BYAa1IDaQcUDnBm
          cqZSFGTwK6nvhuh48L0/RHeOcOhkkp/+l9iXIBXkPCkfBbjKNiebP+My3isnaNr88dYbD
          ydRIqs9JfcnNtXhqos+4Oe3zTLE78dlJhY5mpHPYYZRZsgh2tF0f80830Gcg4dSGpf7ma
          dB5jPl1Ou16PHyRvf/+XfhykoazvUPLa8K29Nyz+1J01zrdIV55b5NVVy10WkUSdxlgq7
          kUYBmSS9vn9U1Y7BHcLBsj0uXma7HZsajs7iy3cCCtPSDluO8bllajxD21ZZBZ7a7n+Rj
          qzn0S9+j5c4YG+QasOUjyq+2/+TGFE/IGfaB70FGNrpiJ/HJRsFt145dCJzH9RPNfNEhu
          7NpNCNwJvTmpXS2pcEofs73Z7l1u4h1/VpZog/cVsMOYfm7DSho0hSX/WAQR7o=
