# == 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
    irrelevant-files:
      - ".github/.*"
      - "docs/.*"
      - "OWNERS"
      - "README.md"
      - "i18n-config.toml"
      - "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
        - BtqF9JhXwLcyBhV5HV3MUllsAnZIrURsinAtYOADVGZ/YvYUZZsIPz3+2fFjdXCf7N1my
          McgklSVMCQ7R/qTtb+oogs9vJ4XUNIJ/QWRKzKb/M3v5VgJpbQXiEgVjMl+a4bntfQuB2
          nnBJacg63yp1VQDVbJRh1acb9BJB2zsxKHusJZnSZtrdZCXxUqCzVRYkJxtVfhVJpGJjo
          WqOCUZFc4ibFHbcI5ZOpyaxUqBMHhL33blopuwL3TVw2CLD3YZrg2V/c8NcBItX8m1aTh
          d3jM73uKc/DP4+xk2OUfH5Mld/UcIUiolvHo5/Fm+6tNhXCZE7tm84A6FQKMQOKrYkzWN
          4BWJS/Aoiu1JJVawu5j1yuWzm+ZSmgGaRblsXSJeIq9YgYF1Fe8TdxP7pmp+OzgedJPIX
          KHWqH8BVyocx5wEy6cMH69IgheTt4NcWvPP1IiLNGC7w6x9RYHKTPOYDzOhy1wRPH6sKh
          Oop5IiUPiiHSntbrGTh6gdsNXEkx7+QVh8FBo6958JSzb1DwexGMitfDarRcKLg2OKuAf
          zgS1V6Nv63JsPY070p5rYhG1zl9Fh83a7nfhLB36aQhKi0DxOtOYRjKIzLsv1nWs7we1A
          GQT8VFNW/KZrSM8XsvqCO6IwVP5mOIT/4PWYdCXUsUUU4Sa+Fo/pmyvITuI0E8=
      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=
