github.com/jmrodri/operator-sdk@v0.5.0/.travis.yml (about)

     1  language: go
     2  go_import_path: github.com/operator-framework/operator-sdk
     3  sudo: required
     4  
     5  cache:
     6    directories:
     7      - $HOME/.cache/go-build
     8  
     9  go:
    10  - 1.10.3
    11  
    12  # The `x_base_steps` top-level key is unknown to travis,
    13  # so we can use it to create a bunch of common build step
    14  # YAML anchors which we use in our build jobs.
    15  x_base_steps:
    16    # before_install for jobs that require go builds
    17    - &go_before_install
    18      before_install:
    19        # hack/ci/check-doc-only-update.sh needs to be sourced so
    20        # that it can properly exit the test early with success
    21        - source hack/ci/check-doc-only-update.sh
    22        - curl -Lo dep https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 && chmod +x dep && sudo mv dep /usr/local/bin/
    23        - travis_retry dep ensure -v
    24  
    25    # Base go, ansbile, and helm job
    26    - &test
    27      stage: test
    28      env: CLUSTER=openshift
    29      <<: *go_before_install
    30      install:
    31        - make install
    32        - hack/ci/setup-openshift.sh
    33      after_success:
    34        - echo "Build succeeded, operator was generated, memcached operator is running on $CLUSTER, and unit/integration tests pass"
    35      after_failure:
    36        - echo "Build failed, operator failed to generate, memcached operator is not running on $CLUSTER, or unit/integration tests failed"
    37        - kubectl get all --all-namespaces
    38        - kubectl get events --all-namespaces --field-selector=type=Warning
    39      services:
    40        - docker
    41  
    42    # Base deploy job
    43    - &deploy
    44      stage: deploy
    45      if: type != pull_request AND ( tag IS present OR branch = master OR commit_message =~ /\[travis deploy\]/ )
    46      <<: *go_before_install
    47      install: make install
    48      before_script:
    49        - git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
    50        - git fetch --unshallow --tags
    51      after_success:
    52        - echo "Image build succeeded, and docker image tagged and pushed to repository"
    53      after_failure:
    54        - echo "Image build, docker image tagging, or docker image pushing to repository failed"
    55      services:
    56        - docker
    57  
    58  jobs:
    59    include:
    60      # Build and test go
    61      - <<: *test
    62        name: Go on OpenShift
    63        script: make test/ci-go ARGS="-v"
    64  
    65      # Build and test ansible
    66      - <<: *test
    67        name: Ansible on OpenShift
    68        before_script: sudo pip install ansible
    69        script: make test/ci-ansible
    70  
    71      # Build and test helm
    72      - <<: *test
    73        name: Helm on OpenShift
    74        script: make test/ci-helm
    75  
    76      # Test markdown
    77      - stage: test
    78        name: Markdown Link Checker
    79        language: bash
    80        script: make test/markdown
    81        after_success: echo 'Markdown links are correct'
    82        after_failure: echo 'Incorrect markdown link detected'
    83  
    84      # Build and deploy ansible-operator docker image
    85      - <<: *deploy
    86        name: Docker image for ansible-operator
    87        script:
    88          - make image/build/ansible
    89          - make image/push/ansible
    90  
    91      # Build and deploy helm-operator docker image
    92      - <<: *deploy
    93        name: Docker image for helm-operator
    94        script:
    95          - make image/build/helm
    96          - make image/push/helm
    97  
    98      # Build and deploy scorecard-proxy docker image
    99      - <<: *deploy
   100        name: Docker image for scorecard-proxy
   101        script:
   102          - make image/build/scorecard-proxy
   103          - make image/push/scorecard-proxy