# © Copyright IBM Corporation 2018, 2024 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. dist: bionic group: beta sudo: required language: go go: - "1.21.13" services: - docker env: global: - MAIN_BRANCH=v9.4.1 - TAGCACHE_FILE=tagcache - RELEASE=r1 go_import_path: "github.com/ibm-messaging/mq-container" # cache: # directories: # - downloads jobs: allow_failures: - script: bash -e travis-build-scripts/trigger-release-checks.sh include: - stage: basic-build if: branch != v9.4.1 AND tag IS blank AND branch !~ /^ifix-/ name: "Basic AMD64 build" os: linux env: - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_AMD64 script: bash -e travis-build-scripts/run.sh # CD Build - stage: global-tag if: (branch = v9.4.1 OR branch =~ ^ifix-*) AND type != pull_request OR tag =~ ^release-candidate* name: "Generate Global Tag" os: linux script: bash -e travis-build-scripts/global-tag.sh - stage: build if: branch = v9.4.1 OR tag =~ ^release-candidate* name: "Multi-Arch AMD64 build" os: linux env: - BUILD_ALL=true - MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_AMD64 - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_AMD64 script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: build if: branch = v9.4.1 OR tag =~ ^release-candidate* name: "Multi-Arch S390X build" os: linux arch: s390x group: vms390 env: - BUILD_ALL=true - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics" - MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_S390X - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_S390X script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: build if: branch = v9.4.1 OR tag =~ ^release-candidate* name: "Multi-Arch PPC64LE build" os: linux arch: ppc64le group: power-focal env: - BUILD_ALL=true - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics" - MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_PPC64LE - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_PPC64LE script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: push-manifest if: branch = v9.4.1 AND type != pull_request OR tag =~ ^release-candidate* name: "Push Manifest-list to registry" env: - PUSH_MANIFEST_ONLY=true script: bash -e travis-build-scripts/run.sh - stage: trigger-release-checks if: branch = v9.4.1 AND type != pull_request OR tag =~ ^release-candidate* name: "Trigger release-checks build" script: bash -e travis-build-scripts/trigger-release-checks.sh # ifix build started - stage: Check-upload-ifix-driver if: branch =~ ^ifix- name: "Check and upload ifix driver" os: linux script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/ifix-base-mq-driver-uploader.sh - stage: build-ifix if: branch =~ ^ifix- name: "Multi-Arch AMD64 build for ifix" os: linux env: - BUILD_ALL=true - MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_AMD64.tar.gz - MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_AMD64.tar.gz script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: build-ifix if: branch =~ ^ifix- name: "Multi-Arch S390X build for fix" os: linux arch: s390x group: vms390 env: - BUILD_ALL=true - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics" - MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_S390X.tar.gz - MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_S390X.tar.gz script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: build-ifix if: branch =~ ^ifix- name: "Multi-Arch PPC64LE build for ifix" os: linux arch: ppc64le group: power-focal env: - BUILD_ALL=true - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics" - MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_PPCLE.tar.gz - MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_PPCLE.tar.gz script: - bash travis-build-scripts/travis-log-keepalive.sh & - bash -e travis-build-scripts/run.sh - stage: push-manifest-ifix if: branch =~ ^ifix-* name: "Push Manifest-list to registry" env: - PUSH_MANIFEST_ONLY=true - BUILD_MANIFEST=true script: bash -e travis-build-scripts/run.sh - stage: build-manifest-ifix if: branch =~ ^ifix- name: "Generate build manifest file" env: - BUILD_MANIFEST=true script: bash -e travis-build-scripts/run.sh - stage: Sync-build-manifest-ifix if: branch =~ ^ifix- name: "Sync build manifest with stage branch" os: linux script: - bash -e travis-build-scripts/manifest-sync.sh before_install: - make install-build-deps - make install-credential-helper install: - echo nothing before_script: echo nothing after_success: - make lint