Skip to content

Merge pull request #119 from bluesliverx/main #475

Merge pull request #119 from bluesliverx/main

Merge pull request #119 from bluesliverx/main #475

GitHub Actions / Test Results 3.11 succeeded Feb 2, 2024 in 0s

All 144 tests pass, 4 skipped in 8m 55s

148 tests  ±0   144 ✔️ ±0   8m 55s ⏱️ +12s
    1 suites ±0       4 💤 ±0 
    1 files   ±0       0 ±0 

Results for commit 34a62b8. ± Comparison against earlier commit 2119249.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results 3.11

4 skipped tests found

There are 4 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-build.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-override-amd.yaml-args1-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-override-arm.yaml-args2-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-run.yaml-None-0]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results 3.11

148 tests found

There are 148 tests, see "Raw output" for the full list of tests.
Raw output
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-build.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-override-amd.yaml-args1-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-override-arm.yaml-args2-0]
tests.test_buildrunner_files ‑ test_buildrunner_arm_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files/arm-arch-test-platform-run.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-alias_dir_mount.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-build_dir_mount.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-buildargs.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-dependencies.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-docker-pull-failure.yaml-None-78]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-env-vars.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-general.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-inject-nonexistent-dir.yaml-None-78]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-local-images-and-platform.yaml-args8-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-multi-platform-image-reuse.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-multi-platform-inject.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-multi-platform-none-path.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-push-artifact.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-push.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-redirect.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-simple.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-ssh.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-systemd.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-timeout.yaml-args18-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-unsafe-git.yaml-None-0]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-xfail-redirect_loop1.yaml-None-78]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-xfail-redirect_loop2.yaml-None-78]
tests.test_buildrunner_files ‑ test_buildrunner_dir[/home/runner/work/buildrunner/buildrunner/tests/test-files-test-xfail-redirect_loop_simple.yaml-None-78]
tests.test_caching ‑ test_restore_cache_basic
tests.test_caching ‑ test_restore_cache_no_cache
tests.test_caching ‑ test_restore_cache_prefix_matching
tests.test_caching ‑ test_restore_cache_prefix_timestamps
tests.test_caching ‑ test_save_cache_basic
tests.test_caching ‑ test_save_cache_multiple_cache_keys
tests.test_caching ‑ test_save_cache_multiple_caches
tests.test_config_validation.test_global_config ‑ test_config_data[\n    # The 'env' global configuration may be used to set environment variables\n    # available to all buildrunner runs that load this config file. Env vars do\n    # not need to begin with a prefix to be included in this list (i.e.\n    # BUILDRUNNER_ prefix is not needed for variables listed here).\n    env:\n      ENV_VAR1: 'value1'\n      # Values must always be strings\n      ENV_VAR2: 'true'\n\n    # The 'build-servers' global configuration consists of a map where each key\n    # is a server user@host string and the value is a list of host aliases that\n    # map to the server. This allows builders to configure Buildrunner to talk to\n    # specific servers within their environment on a project by project basis.\n    build-servers:\n      user@host:\n        - alias1\n        - alias2\n\n    # The 'ssh-keys' global configuration is a list of ssh key configurations.\n    # The file attribute specifies the path to a local ssh private key. The key\n    # attribute provides a ASCII-armored private key. Only one or the other is\n    # required. If the private key is password protected the password attribute\n    # specifies the password. The alias attribute is a list of aliases assigned\n    # to the given key (see the "ssh-keys" configuration example of the "run"\n    # step attribute below).\n    ssh-keys:\n    # - file: /path/to/ssh/private/key.pem\n    # <or>\n      key: |\n        -----INLINE KEY-----\n        ...\n      password: <password if needed>\n      # If set, prompt for the ssh key password.  Ignored if password is set.\n      prompt-password: True\n      aliases:\n        - 'my-github-key'\n\n    # The "local-files" global configuration consists of a map where each key\n    # is a file alias and the value is either the path where the file resides on\n    # the local server OR the contents of the file. See the "local-files"\n    # configuration example of the "run" step attribute below.  Entries in the\n    # master global configuration may specify any "local-files" alias while\n    # user configuration files may only specify "local-files" aliases that\n    # are in the user's home directory or a path owned by the user.  Home\n    # directory expansions (e.g. ``~``, ``~/foo``, ``~username`` and\n    # ``~username/foo``) are honored.  The ``~`` and ``~/foo`` cases will map\n    # to the home directory of the user executing buildrunner.\n    # NOTE: remember to quote ``~`` in YAML files!\n    local-files:\n      digitalmarketing.mvn.settings: '~/.m2/settings.xml'\n      some.other.file.alias: |\n        The contents of the file...\n\n    # The 'caches-root' global configuration specifies the directory to use for\n    # build caches. The default directory is ~/.buildrunner/caches.\n    caches-root: ~/.buildrunner/caches\n\n    # Change the default docker registry, see the FAQ below for more information\n    docker-registry: docker-mirror.example.com\n\n    # Change the temp directory used for *most* files\n    # Setting the TMP, TMPDIR, or TEMP env vars should do the same thing,\n    # but on some systems it may be necessary to use this instead.\n    temp-dir: /my/tmp/dir\n        -error_matches0]
tests.test_config_validation.test_global_config ‑ test_config_data[\n    ssh-keys:\n      - file: /path/to/ssh/private/key.pem\n        -error_matches1]
tests.test_config_validation.test_global_config ‑ test_config_data[\n    ssh-keys:\n      key: |\n        -----INLINE KEY-----\n        ...\n      password: <password if needed>\n      # If set, prompt for the ssh key password.  Ignored if password is set.\n      prompt-password: True\n      aliases:\n        - 'my-github-key'\n      bogus-attribute: 'bogus'\n        -error_matches2]
tests.test_config_validation.test_multi_platform ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            run:\n                post-build: path/to/build/context\n    -error_matches2]
tests.test_config_validation.test_multi_platform ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push:\n                repository: user1/buildrunner-test-multi-platform\n                tags: []\n            run:\n                image: user1/buildrunner-test-multi-platform\n                cmd: echo "Hello World"\n    -error_matches0]
tests.test_config_validation.test_multi_platform ‑ test_config_data[\n    steps:\n        build-container-single-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n            run:\n                post-build: path/to/build/context\n    -error_matches3]
tests.test_config_validation.test_multi_platform ‑ test_config_data[\n    steps:\n        build-container:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox:latest\n            push:\n                repository: user1/buildrunner-test-multi-platform\n                tags: []\n            run:\n                image: user1/buildrunner-test-multi-platform\n                cmd: echo "Hello World"\n    -error_matches1]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: tests/test_config_validation/Dockerfile.retag\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push: user1/buildrunner-multi-platform-image:latest\n        retag-multi-platform-image:\n            build:\n                dockerfile: |\n                    FROM user1/buildrunner-multi-platform-image\n            push: user1/buildrunner-multi-platform-image2\n    -error_matches7]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            commit: user1/buildrunner-multi-platform-image\n        retag-multi-platform-image:\n            run:\n                image: user1/buildrunner-multi-platform-image\n                cmd: echo "Hello World"\n            push: user1/buildrunner-multi-platform-image2\n    -error_matches3]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push: user1/buildrunner-multi-platform-image:latest\n        retag-multi-platform-image:\n            build:\n                dockerfile: |\n                    FROM user1/buildrunner-multi-platform-image\n            push: user1/buildrunner-multi-platform-image2\n    -error_matches6]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push: user1/buildrunner-multi-platform-image:latest\n        retag-multi-platform-image:\n            run:\n                image: user1/buildrunner-multi-platform-image:latest\n                cmd: echo "Hello World"\n            push: user1/buildrunner-multi-platform-image2:latest\n    -error_matches0]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push: user1/buildrunner-multi-platform-image\n        retag-multi-platform-image:\n            run:\n                image: user1/buildrunner-multi-platform-image:latest\n                cmd: echo "Hello World"\n            push: user1/buildrunner-multi-platform-image2\n    -error_matches1]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push: user1/buildrunner-test-multi-platform\n\n        retag-built-image:\n            run:\n                image: user1/buildrunner-test-multi-platform\n                cmd: echo "Hello World"\n            commit: user1/buildrunner-test-multi-platform2\n    -error_matches4]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox:latest\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push:\n                repository: user1/buildrunner-test-multi-platform\n                tags: []\n\n        retag-built-image:\n            run:\n                image: user1/buildrunner-test-multi-platform\n                cmd: echo "Hello World"\n            push:\n                repository: user1/buildrunner-test-multi-platform2\n                tags: []\n    -error_matches2]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-multi-platform:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox\n                platforms:\n                    - linux/amd64\n                    - linux/arm64/v8\n            push:\n                - repository: user1/buildrunner-test-multi-platform\n                  tags: [ 'latest', '0.0.1' ]\n                - repository: user2/buildrunner-test-multi-platform\n                  tags: [ 'latest', '0.0.1' ]\n\n        use-built-image1:\n            run:\n                image: user1/buildrunner-test-multi-platform:0.0.1\n                cmd: echo "Hello World"\n\n        use-built-image2:\n            run:\n                image: user2/buildrunner-test-multi-platform:0.0.1\n                cmd: echo "Hello World"\n    -error_matches8]
tests.test_config_validation.test_retagging ‑ test_config_data[\n    steps:\n        build-container-single-platform:\n            build:\n                dockerfile: |\n                    FROM {{DOCKER_REGISTRY}}/busybox:latest\n            push: user1/buildrunner-test-single-platform:latest\n\n        retag-built-image:\n            run:\n                image: user1/buildrunner-test-single-platform:latest\n                cmd: echo "Hello World"\n            push: user1/buildrunner-test-single-platform2\n    -error_matches5]
tests.test_config_validation.test_retagging ‑ test_invalid_retagging_with_buildrunner_build_tag[buildrunner_build_tag_explict]
tests.test_config_validation.test_retagging ‑ test_invalid_retagging_with_buildrunner_build_tag[buildrunner_build_tag_implied]
tests.test_config_validation.test_retagging ‑ test_valid_config_with_buildrunner_build_tag[\n        steps:\n            build-container:\n                build:\n                    dockerfile: |\n                        FROM {{ DOCKER_REGISTRY }}/busybox\n                    platforms:\n                        - linux/amd64\n                        - linux/arm64/v8\n                push:\n                    - repository: user1/buildrunner-test-multi-platform\n                      tags: [ 'latest', '0.0.1', {{ BUILDRUNNER_BUILD_DOCKER_TAG }} ]\n\n            use-built-image1:\n                build:\n                    dockerfile: |\n                        FROM user1/buildrunner-test-multi-platform:latest\n                    platforms:\n                        - linux/amd64\n                        - linux/arm64/v8\n                push:\n                    repository: user1/buildrunner-test-multi-platform2\n                    tags: [ 'latest' ]\n    ]
tests.test_config_validation.test_retagging ‑ test_valid_config_with_buildrunner_build_tag[\n        steps:\n            build-container:\n                build:\n                    dockerfile: |\n                        FROM {{ DOCKER_REGISTRY }}/busybox\n                    platforms:\n                        - linux/amd64\n                        - linux/arm64/v8\n                push:\n                    - repository: user1/buildrunner-test-multi-platform\n                      tags: [ 'latest', '0.0.1', {{ BUILDRUNNER_BUILD_DOCKER_TAG }} ]\n\n            use-built-image1:\n                run:\n                    image: user1/buildrunner-test-multi-platform\n                    cmd: echo "Hello World"\n    ]
tests.test_config_validation.test_retagging ‑ test_valid_config_with_buildrunner_build_tag[\n        steps:\n            build-container:\n                build:\n                    dockerfile: |\n                        FROM {{ DOCKER_REGISTRY }}/nginx:latest\n                        RUN printf '{{ BUILDRUNNER_BUILD_NUMBER }}' > /usr/share/nginx/html/index.html\n                push:\n                    repository:  user1/buildrunner-test-image\n                    tags: []\n    ]
tests.test_config_validation.test_retagging ‑ test_valid_config_with_buildrunner_build_tag[\n        steps:\n            build-container:\n                build:\n                    dockerfile: |\n                        FROM {{ DOCKER_REGISTRY }}/nginx:latest\n                        RUN printf '{{ BUILDRUNNER_BUILD_NUMBER }}' > /usr/share/nginx/html/index.html\n                push:\n                    repository: user1/buildrunner-test-image\n    ]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-remote:\n        remote:\n          host: myserver.ut1\n          cmd: docker build -t mytest-reg/buildrunner-test .\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: tar\n              compression: gz\n    -error_matches2]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-remote:\n        remote:\n          host: myserver.ut1\n          cmd: docker build -t mytest-reg/buildrunner-test .\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: tar\n              compression: lzma\n    -error_matches0]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*: ''\n            bogus/path/to/this_thing: ''\n    -error_matches7]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              format: uncompressed\n    -error_matches3]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              push: True\n              something_else: awesome data\n              something_else2: True\n              something_else3: 123\n    -error_matches9]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              push: True\n    -error_matches8]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              push: bogus\n    -error_matches6]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: tar\n    -error_matches5]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: zip\n              compression: lzma\n    -error_matches1]
tests.test_config_validation.test_validation_artifacts ‑ test_config_data[\n    steps:\n      build-run:\n        run:\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: zip\n    -error_matches4]
tests.test_config_validation.test_validation_config ‑ test_config_data[\n    github:\n      company_github:\n        endpoint: 'https://git.company.com/api'\n        version: 'v3'\n        username: 'USERNAME'\n        app_token: 'APP_TOKEN'\n        bogus: 'bogus'\n    -error_matches7]
tests.test_config_validation.test_validation_config ‑ test_config_data[\n    github:\n      company_github:\n        endpoint: 'https://git.company.com/api'\n        version: 'v3'\n        username: 'USERNAME'\n        app_token: 'APP_TOKEN'\n    -error_matches6]
tests.test_config_validation.test_validation_config ‑ test_config_data[\n    steps:\n      generate_files:\n        run:\n          image: docker.company.com/abc-xdm-proto-build:latest\n          ssh-keys: ["company-github"]\n          env:\n            GIT_TOKEN: 'blahblahblahblahblahblah'\n          cmd: sbt clean generateAwareJsonFiles combineXDM generateProtobufFiles\n          artifacts:\n            'target/protobufFiles/Database*.proto':\n            'target/rawJson/Database*.json':\n            'target/AwareJson/Aware.json':\n            'target/combinedXDM/complete-schema-template.schema.json':\n      build-dev-rpm:\n        build:\n          inject:\n            "buildrunner.results/generate_files/*.proto": "proto/"\n            "buildrunner.results/generate_files/A*.json": "json/"\n            "db_build/dms.repo.centos7": db_build/dms.repo\n          dockerfile: |\n            FROM docker-release.dr.corp.company.com/centos-7-x86_64-obuild:latest\n            ADD db_build/dms.repo /etc/yum.repos.d/dms.repo\n            RUN rpm --rebuilddb; yum clean all; yum install -y db-omniture-libs-protobuf-2.6.1 db-scds-proto-1.0 db-scds-json-1.0\n            ADD proto/*.proto /tmp/proto/\n            ADD json/*.json /tmp/json/\n        run:\n          cmds:\n            - "chown -R httpd:www /source"\n            - "echo ~ Compiling previous proto version..."\n            - "mkdir -p /tmp/existingscds && for f in `ls -d /home/omniture/protobuf/scds/*.proto`; do protoc -I=/home/omniture/protobuf --cpp_out /tmp/existingscds $f; done"\n            - "echo ~ Compiling current proto version..."\n          artifacts:\n            # pull the log if rpmbuild fails\n            "db_tmp/rpm/TMPDIR/*.log": {type: 'log'}\n            # pull the noarch packages\n            "db_tmp/rpm/RPMS/noarch/*.noarch.rpm": {platform: 'centos-noarch'}\n      build-proto-java:\n        build:\n          inject:\n            "buildrunner.results/generate_files/*.proto": "proto"\n          dockerfile: |\n            FROM docker.company.com/abc-base-containers/protobuf-builder:java8-2.5.0\n            ADD proto/*.proto /tmp/proto/scds/\n        run:\n          caches:\n            maven: "/root/.m2/repository"\n          cmds: [\n            'mvn package ${BUILDRUNNER_DO_PUSH+deploy} -am -pl proto-java'\n          ]\n          artifacts:\n            '*/target/*.jar':\n      download-country:\n        build:\n          inject:\n            "db_build/bin/*": "db_build/bin/"\n          dockerfile: |\n            FROM docker-release.dr.corp.company.com/centos-7-x86_64-obuild\n            ADD db_build/bin/* /tmp/\n        run:\n          cmds:\n            - '/tmp/download_country.sh'\n            # strip all quotes\n            - "sed -i 's/bogus//g' country_codes.csv"\n            # Add missing ?,? because it's not in the DB\n            - 'echo "?,?" >> country_codes.csv'\n            # keep first 2 columns, uppercase 2nd column\n            - 'awk -F, ''{OFS=","; $2 = toupper($2); {print $1,$2}}'' country_codes.csv > country_code_map.csv'\n          artifacts:\n            'country_code_map.csv':\n      build-transform-proto-xdm:\n        build:\n          inject:\n            "buildrunner.results/generate_files/*.proto": "proto"\n            "buildrunner.results/generate_files/*.json": "json"\n          dockerfile: |\n            FROM docker.company.com/abc-base-containers/protobuf-builder:java8-2.5.0\n            RUN apt-get update && apt-get -y install openssh-client\n            ADD proto/*.proto /tmp/proto/scds/\n        run:\n          env:\n            ARTIFACTORY_USER: 'cool_user'\n            ARTIFACTORY_API_TOKEN: 'blahblahblahblahblahblahblah'\n          caches:\n            maven: "/root/.m2/repository"\n          shell: /bin/bash\n          cmds: [\n            'cp /tmp/json/raw/*json json/raw',\n            'mkdir -p csv',\n            'cp /tmp/csv/*csv csv',\n            'curl -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 > jq',\n            'chmod +x jq',\n          ]\n          artifacts:\n            'transform-proto-xdm/target/*':\n            'transform-proto-xdm-generator/target/*':\n            'validator-xdm/target/*':\n      generate_docs:\n        run:\n          image: docker.company.com/abc-xdm-proto-build:latest\n          ssh-keys: ["company-github"]\n          env:\n            GIT_TOKEN: 'blahblahblahblahblahblahblah'\n          cmd: "sbt clean generateDocs ${BUILDRUNNER_DO_PUSH+publishGHPages}"\n          artifacts:\n            'target/docs/*':\n    -error_matches5]
tests.test_config_validation.test_validation_config ‑ test_config_data[\n    version: 2.0\n    steps:\n      build-container-single-platform1:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platform: linux/amd64\n        push:\n          repository: mytest-reg/buildrunner-test\n          tags:\n            - latest\n      build-container-multi-platform2:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n      build-container-multi-platform-push3:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          - myimages/image1\n          - repository: myimages/image2\n            tags:\n              - latest\n    -error_matches3]
tests.test_config_validation.test_validation_config ‑ test_config_data[\n    version: string\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platform: linux/amd64\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches4]
tests.test_config_validation.test_validation_config ‑ test_config_data[config_data0-error_matches0]
tests.test_config_validation.test_validation_config ‑ test_config_data[config_data1-error_matches1]
tests.test_config_validation.test_validation_config ‑ test_config_data[config_data2-error_matches2]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform1:\n        build:\n          dockerfile: |\n            FROM busybox:latest\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:latest\n      build-container-multi-platform2:\n        build:\n          dockerfile: |\n            FROM busybox:latest\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:not-latest\n    -error_matches8]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform1:\n        build:\n          path: .\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:latest\n      build-container-single-platform:\n        build:\n          path: .\n          platform: linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:latest\n    -error_matches9]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform1:\n        build:\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:latest\n      build-container-multi-platform2:\n        build:\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push: mytest-reg/buildrunner-test-multi-platform:latest\n    -error_matches7]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform1:\n        build:\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n      build-container-multi-platform2:\n        build:\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches6]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          import: mytest-reg/buildrunner-test-multi-platform:latest\n    -error_matches15]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          platforms:\n            - linux/amd64\n            - linux/arm64\n          import: mytest-reg/buildrunner-test-multi-platform:latest\n    -error_matches14]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platform: linux/amd64\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches0]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms: linux/amd64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches1]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms:\n            - linux/amd64\n            - linux/arm64\n          no-cache: true\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches5]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms:\n            - linux/amd64\n            - linux/arm64\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches4]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-container-multi-platform:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n          platforms:\n          - linux/amd64\n          cache_from:\n          - image1\n        push:\n          repository: mytest-reg/buildrunner-test-multi-platform\n          tags:\n            - latest\n    -error_matches2]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-is-path:\n        build: .\n    -error_matches3]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-remote:\n        remote:\n          host: myserver.ut1\n          cmd: docker build -t mytest-reg/buildrunner-test .\n          artifacts:\n            bogus/path/to/artifacts/*:\n              type: tar\n              compression: lzma\n    -error_matches10]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      build-remote:\n        remote:\n          host: myserver.ut1\n    -error_matches11]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      my-build-step:\n        run:\n          services:\n            my-service-container:\n              # The 'build' attribute functions the same way that the step\n              # 'build' attribute does. The only difference is that the image\n              # produced by a service container build attribute cannot be pushed\n              # to a remote repository.\n              build: <path/to/build/context or map>\n\n              # The pre-built image to base the container on. The 'build' and\n              # 'image' attributes are mutually exclusive in the service\n              # container context.\n              image: <the Docker image to run>\n\n              # The command to run. If ommitted Buildrunner runs the command\n              # configured in the Docker image without modification. If provided\n              # Buildrunner always sets the container command to a shell, running\n              # the given command here within the shell.\n              cmd: <a command to run>\n\n              # A collection of provisioners to run. Provisioners work similar to\n              # the way Packer provisioners do and are always run within a shell.\n              # When a provisioner is specified Buildrunner always sets the\n              # container command to a shell, running the provisioners within the\n              # shell. Currently Buildrunner supports shell and salt\n              # provisioners.\n              provisioners:\n                shell: path/to/script.sh\n                salt: <simple salt sls yaml config>\n\n              # The shell to use when specifying the cmd or provisioners\n              # attributes. Defaults to /bin/sh. If the cmd and provisioners\n              # attributes are not specified this setting has no effect.\n              shell: /bin/sh\n\n              # The directory to run commands within. Defaults to /source.\n              cwd: /source\n\n              # The user to run commands as. Defaults to the user specified in\n              # the Docker image.\n              user: <user to run commands as (can be username:group / uid:gid)>\n\n              # The hostname assigned to the service container.\n              hostname: <the hostname>\n\n              # Custom dns servers to use in the service container.\n              dns:\n                - 8.8.8.8\n                - 8.8.4.4\n\n              # A custom dns search path to use in the service container.\n              dns_search: mydomain.com\n\n              # Add entries to the hosts file\n              # The keys are the hostnames.  The values can be either\n              # ip addresses or references to other service containers.\n              extra_hosts:\n                "www1.test.com": "192.168.0.1"\n                "www2.test.com": "192.168.0.2"\n\n              # A map specifying additional environment variables to be injected\n              # into the container. Keys are the variable names and values are\n              # variable values.\n              env:\n                ENV_VARIABLE_ONE: value1\n                ENV_VARIABLE_TWO: value2\n\n              # A map specifying files that should be injected into the container.\n              # The map key is the alias referencing a given file (as configured in\n              # the "local-files" section of the global configuration file) and the\n              # value is the path the given file should be mounted at within the\n              # container.\n              files:\n                namespaced.file.alias1: "/path/to/readonly/file/or/dir"\n                namespaced.file.alias2: "/path/to/readwrite/file/or/dir:rw"\n\n              # A list specifying other service containers whose exposed volumes\n              # should be mapped into this service container's file system. Any\n              # service containers in this list must be defined before this\n              # container is.\n              # An exposed volume is one created by the volume Dockerfile command.\n              # See https://docs.docker.com/engine/reference/builder/#volume for more\n              # details regarding the volume Dockerfile command.\n              volumes_from:\n                - my-service-container\n\n              # A map specifying ports to expose and link within other containers\n              # within the step.\n              ports:\n                8081: 8080\n\n              # Whether or not to pull the image from upstream prior to running\n              # the step.  This is almost always desirable, as it ensures the\n              # most up to date source image.  There are situations, however, when\n              # this can be set to false as an optimization.  For example, if a\n              # container is built at the beginning of a buildrunner file and then\n              # used repeatedly.  In this case, it is clear that the cached version\n              # is appropriate and we don't need to check upstream for changes.\n              pull: true\n\n              # See above\n              systemd: true\n\n              # A list of container names or labels created within any run container\n              # that buildrunner should clean up.  (Use if you call\n              # 'docker run --name <name>' or 'docker run --label <label>' within a run container.)\n              containers:\n                - container1\n                - container2\n\n              # Wait for ports to be open this container before moving on.\n              # This allows dependent services to know that a service inside the\n              # container is running. This times out automatically after 10 minutes\n              # or after the configured timeout.\n              wait_for:\n                - 80\n                # A timeout in seconds may optionally be specified\n                - port: 9999\n                  timeout: 30\n\n              # If ssh-keys are specified in the run step, an ssh agent will be started\n              # and mounted inside the running docker container.  If inject-ssh-agent\n              # is set to true, the agent will be mounted inside the service container\n              # also.  This isn't enabled by default as there is the theoretical\n              # (though unlikely) possibility that a this access could be exploited.\n              inject-ssh-agent: true\n    -error_matches16]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      pypi1:\n        run:\n          image: python:2\n          cmds:\n            - python setup.py sdist\n          artifacts:\n            "dist/*.tar.gz": { type: 'python-sdist' }\n        pypi-push: artifactory-releng\n      pypi2:\n        run:\n          image: python:2\n          cmds:\n            - python -m build\n          artifacts:\n            "dist/*.tar.gz": { type: 'python-sdist' }\n            "dist/*.whl": { type: 'python-wheel' }\n        pypi-push:\n          repository: https://artifactory.example.com/artifactory/api/pypi/pypi-myownrepo\n          username: myuser\n          password: mypass\n    -error_matches13]
tests.test_config_validation.test_validation_step ‑ test_config_data[\n    steps:\n      step1:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n        commit:\n          repository: mytest-reg/image1\n          tags:\n            - latest\n      step2:\n        build:\n          path: .\n          dockerfile: Dockerfile\n          pull: false\n        commit: mytest-reg/image1\n    -error_matches12]
tests.test_dependencies.TestDependencies ‑ test_cycle_dependency
tests.test_dependencies.TestDependencies ‑ test_missing_version
tests.test_dependencies.TestDependencies ‑ test_no_reorder
tests.test_dependencies.TestDependencies ‑ test_not_defined_dependency
tests.test_dependencies.TestDependencies ‑ test_not_supported_version
tests.test_dependencies.TestDependencies ‑ test_reorder_steps
tests.test_dependencies.TestDependencies ‑ test_reorder_steps_higher_version
tests.test_image_info ‑ test_find_native_platform[Bogus-Noarch-bogus]
tests.test_image_info ‑ test_find_native_platform[Darwin-aarch64-linux/arm64/v7]
tests.test_image_info ‑ test_find_native_platform[Darwin-x86_64-linux/amd64]
tests.test_image_info ‑ test_find_native_platform[Linux-aarch64-linux/arm64/v7]
tests.test_image_info ‑ test_find_native_platform[Linux-x86_64-linux/amd64]
tests.test_loggers ‑ test_console_logger[-lines0]
tests.test_loggers ‑ test_console_logger[\noutput1\n\n-lines3]
tests.test_loggers ‑ test_console_logger[output1-lines1]
tests.test_loggers ‑ test_console_logger[output1\n-lines2]
tests.test_loggers ‑ test_container_logger_for_methods
tests.test_loggers ‑ test_container_logger_set_logger_handlers
tests.test_loggers ‑ test_container_logger_write[None-outputs0-lines0]
tests.test_loggers ‑ test_container_logger_write[None-outputs1-lines1]
tests.test_loggers ‑ test_container_logger_write[p1-outputs2-lines2]
tests.test_loggers ‑ test_docker_pull_progress
tests.test_loggers ‑ test_initialize_root_logger[False-False-False-20-%(log_color)s%(asctime)s %(levelname)-8s %(message)s]
tests.test_loggers ‑ test_initialize_root_logger[True-True-True-10-%(log_color)s%(levelname)-8s %(message)s]
tests.test_multiplatform ‑ test__get_build_cache_options[b1-None-True]
tests.test_multiplatform ‑ test__get_build_cache_options[b1-cache_builders1-True]
tests.test_multiplatform ‑ test__get_build_cache_options[b1-cache_builders2-True]
tests.test_multiplatform ‑ test__get_build_cache_options[b2-cache_builders3-False]
tests.test_multiplatform ‑ test_build[test-build-image-2000-platforms0-expected_image_tags0]
tests.test_multiplatform ‑ test_build[test-build-image-2001-platforms1-expected_image_tags1]
tests.test_multiplatform ‑ test_build_multiple_builds
tests.test_multiplatform ‑ test_push
tests.test_multiplatform ‑ test_push_with_dest_names
tests.test_multiplatform ‑ test_start_local_registry
tests.test_multiplatform ‑ test_start_local_registry_on_build
tests.test_multiplatform ‑ test_tag_native_platform[platforms0-expected_image_tags0]
tests.test_multiplatform ‑ test_tag_native_platform_keep_images[test-image-tag-2000-platforms0-expected_image_tags0]
tests.test_multiplatform ‑ test_tag_native_platform_multiple_tags[test-image-tag-2000-platforms0-expected_image_tags0]
tests.test_multiplatform ‑ test_use_build_registry
tests.test_push_artifact ‑ test_no_artifact_properties
tests.test_push_artifact ‑ test_no_artifacts
tests.test_push_artifact ‑ test_no_push_property
tests.test_push_artifact ‑ test_push_false
tests.test_push_artifact ‑ test_push_true
tests.test_util_checksum ‑ test_checksum
tests.test_utils_flock ‑ test_flock_aquire1
tests.test_utils_flock ‑ test_flock_aquire_exlusive_timeout
tests.test_utils_flock ‑ test_flock_exclusive_aquire
tests.test_utils_flock ‑ test_flock_release
tests.test_utils_flock ‑ test_flock_shared_aquire
tests.test_version ‑ test_bad_version
tests.test_version ‑ test_invalid_config_number_version
tests.test_version ‑ test_invalid_config_version_type
tests.test_version ‑ test_invalid_delim_version
tests.test_version ‑ test_missing_version_file
tests.test_version ‑ test_missing_version_in_version_file
tests.test_version ‑ test_valid_version_file