-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extend OMR PR Testing Cmdline #6477
Comments
fyi @0xdaryl @dsouzai @mstoodle @AdamBrousseau Issue opened for further discussion. |
(Continuing discussion from the meeting) I suppose it probably does make sense to just have the build flags explicitly passed in for now, and then after some period of time (say a year or something like that) we can create aliases based on the most commonly used flags for convenience (if applicable). At the moment we'd just be guessing as to what the aliases should be. I do think the aliases are a good idea from a human factors pov, but it should also be data driven. For the sake of having a standard bar of acceptance though, I do think what @mstoodle said should be enforced, namely, even if builds launched with custom flag(s) pass, the PR should only be merged if builds without the custom flag(s) also pass. |
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64<OPTIONS_B> In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) configure:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(configure:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes inside a container. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. c) linux_ppc-64_le_gcc PR builds will be run on cgroup.v2 nodes. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes inside a container. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. c) linux_ppc-64_le_gcc PR builds will be run on cgroup.v2 nodes. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes inside a container. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. c) linux_ppc-64_le_gcc PR builds will be run on cgroup.v2 nodes. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1. Ubuntu 16 (Ub16) is out of service. Thus, Ub16 x86_64 Dockerfile has been removed. 2. We can write a script to generate Dockerfiles to support different operating systems (OSs) and architectures. For the time being, only a Dockerfile for Ubuntu 20 x86_64 has been added. This Dockerfile can be used to derive a script to generate Dockerfiles for other OSs and architectures since it has all the fundamental components. 3. OMR_RUNNING_IN_DOCKER=1 environment variable is set when the PR builds are run inside Docker. This will be used in tests to verify the behaviour port library sysinfo functions. 4. PortStrTest.str_test4 is temporarily disabled since it fails in a container. Issue tracker: eclipse#6566. 5. Changes to the default behaviour: a) linux_x86 PR builds will be run on cgroup.v1 nodes inside a container. b) linux_x86-64 PR builds will be run on cgroup.v2 nodes inside a container. c) linux_ppc-64_le_gcc PR builds will be run on cgroup.v2 nodes. 6. PR build changes: a) Existing PR build syntax should have no impact. b) All new features are additive. c) New features allow PR builds to be configurable. 7. New command example: jenkins build xlinux(OPTION1,OPTION2,...) 8. The following options are added: a) cgroupv1 -> add label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(cgroupv1) b) !cgroupv1 -> remove label to run the build on a cgroup.v1 node. E.g. jenkins build xlinux(!cgroupv1) c) cgroupv2 -> add label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(cgroupv2) d) !cgroupv2 -> remove label to run the build on a cgroup.v2 node. E.g. jenkins build xlinux(!cgroupv2) e) docker -> run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv2,docker) f) !docker -> do not run the build inside a Docker container. E.g. jenkins build xlinux(cgroupv1,!docker) g) cmake:'ARGS' -> ARGS will be appended during the configure phase. E.g. jenkins build xlinux(cmake:'-DCMAKE_C_FLAGS=-DDUMP_DBG') h) compile:'ARGS' -> ARGS will be appended during the compile phase. E.g. jenkins build xlinux(compile:'-d') i) test:'ARGS' -> ARGS will be appended while running the tests. E.g. jenkins build xlinux(test:'-R porttest') j) env:'VAR1=VAL1,VAR2=VAL2' -> environment variables will be added. E.g. jenkins build xlinux(env:'GTEST_FILTER=PortDumpTest.*') 9. Example: jenkins build xlinux(<OPTIONS_A>),all In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use their default settings/options. 10. Example: jenkins build xlinux(<OPTIONS_A>),all(<OPTIONS_B>) In this example, the xlinux PR build will use OPTIONS_A whereas all other PR builds will use OPTIONS_B. 11. Example: jenkins build xlinux(<OPTIONS_A>),all,linux_x86-64(<OPTIONS_B>) In this example, xlinux is an alias for linux_x86-64. Two different sets of options are provided for the same PR build specfication. The set of options of provided at the end will be enforced. In this example, OPTIONS_B will be used whereas OPTIONS_A will be ignored. The same analogy is also used if N-sets of options are specified for the a PR build specification. 12. Related: - eclipse#1281 - eclipse#6468 - eclipse#6477 - eclipse#6501 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
Recently, there have been PRs where the code is disabled by default via preprocessor flags:
The PR builds do not have an option to enable preprocessor flags, which prevents such changes to be tested. Example:
jenkins build cflags="-DDUMP_DBG" cxxflags="-DDUMP_DBG" all
.Based upon the discussion in this week's OMR architecture meeting (#6416), there are TWO OPTIONS:
jenkins build all mode=debug
.jenkins build all cflags+="-DDUMP_DBG" cxxflags-="-DDUMP_DBG"
.[Option 1] Aliases pros:
[Option 1] Aliases cons:
[Option 2] Cmdline option pros:
[Option 2] Cmdline option cons:
Security (e.g. execution of malicious code via injection) is not a major concern because PR builds can only be launched by a select trusted individuals.
The text was updated successfully, but these errors were encountered: