Skip to content

Convert testReleaseHelp script to bash #27320

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

subhramit
Copy link

@subhramit subhramit commented Jun 1, 2025

Closes #26561
Closes #14133 (excluding the additional Travis CI check request)

Port testReleaseHelp to bash.

Test run logs (using cmake-3.25.1):

Log
@subhramit ➜ /workspaces/chapel (convert-script) $ ./util/buildRelease/testReleaseHelp make
Setting CHPL_HOME to /workspaces/chapel
Updating PATH to include /workspaces/chapel/bin/linux64-x86_64
                     and /workspaces/chapel/util
Updating MANPATH to include /workspaces/chapel/man
Setting CHPL_COMM to none
Setting CHPL_TASKS to fifo
Setting CHPL_TARGET_MEM to cstdlib
Setting CHPL_HOST_MEM to cstdlib
Setting CHPL_GMP to none
Setting CHPL_RE2 to none
Setting CHPL_LLVM to none
Making the compiler...
make[2]: Nothing to be done for 'llvm'.
make[2]: Nothing to be done for 'jemalloc'.
make[2]: Nothing to be done for 'mimalloc'.
***** ./ *****
-- Configuring Chapel version: 2.5.0
-- CMAKE_INSTALL_PREFIX is /usr/local
CHPL_DEVELOPER is not set, using OFF
-- No CHPL_LLVM_GCC_PREFIX env var or value given from command line.
-- Using Python: python3
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.17")
Cannot build linters without LLVM - skipping
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/chapel/build/compiler/linux64/gnu/x86_64/hostmem-cstdlib/llvm-none/19/san-none
[  1%] checking sensitive files for version changes...
[  3%] Built target git-sha-obj
[  3%] Built target update-release-and-version-info
[ 55%] Built target ChplFrontend-obj
[ 55%] Built target ChplFrontend
[100%] Built target chpl
cd third-party && make try-re2;
make[2]: Nothing to be done for 'try-re2'.
cd third-party && make try-gmp;
make[2]: Nothing to be done for 'try-gmp'.
Making the runtime...
***** src/mem/ *****
***** src/comm/ *****
***** src/threads/ *****
***** src/tasks/ *****
***** src/mem/cstdlib/ *****
***** src/comm/none/ *****
***** src/tasks/fifo/ *****
***** src/threads/pthreads/ *****
***** src/timers/ *****
***** src/topo/ *****
***** src/topo/none/ *****
***** src/ *****
***** src/timers/generic/ *****
***** src/qio/ *****
***** src/gpu/ *****
***** src/gpu/none/ *****
***** src/qio/regex/none/ *****
***** ./ *****
Making the modules...
make[2]: Nothing to be done for 'default'.
Generating CMake module files...
cp /workspaces/chapel/util/cmake/*.cmake /workspaces/chapel/util/cmake/*.cmake.in /workspaces/chapel/lib/cmake/chpl
[Info] Running minimal test script: $CHPL_HOME/util/test/checkChplInstall
[Info] Found executable chpl in /workspaces/chapel/bin/linux64-x86_64/chpl.
[Info] Found $CHPL_HOME directory: /workspaces/chapel
[Info] /home/codespace/.chpl already exists. Using it.
[Info] Temporary test job directory: /home/codespace/.chpl/chapel-test-nnrjB8
[Info] Compiling $CHPL_HOME/test/release/examples/hello6-taskpar-dist.chpl
[Info] Compiling with CHPL_TARGET_COMPILER=gnu
[Info] Test job compiled into /home/codespace/.chpl/chapel-test-nnrjB8/hello6-taskpar-dist
[Info] $CHPL_LAUNCHER=none is compatible with test script.
[Info] Running test job.
[Info] Test job complete.
SUCCESS: 'make check' passed!
Hello, world!
cd chpl-venv && make chpldoc-venv
make[2]: Nothing to be done for 'chpldoc-venv'.
make[1]: Nothing to be done for 'llvm'.
cd compiler && make chpldoc
-- Configuring Chapel version: 2.5.0
-- CMAKE_INSTALL_PREFIX is /usr/local
CHPL_DEVELOPER is not set, using OFF
-- No CHPL_LLVM_GCC_PREFIX env var or value given from command line.
-- Using Python: python3
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.17")
Cannot build linters without LLVM - skipping
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/chapel/build/compiler/linux64/gnu/x86_64/hostmem-cstdlib/llvm-none/19/san-none
[  3%] checking sensitive files for version changes...
[  6%] Built target git-sha-obj
[  6%] Built target update-release-and-version-info
[100%] Built target ChplFrontend-obj
[100%] Built target ChplFrontend
[100%] Built target chpldoc
make[1]: Nothing to be done for 'default'.
cd chpl-venv && make chpldoc-venv
make[3]: Nothing to be done for 'chpldoc-venv'.
cd man && make chpldoc
make[2]: Nothing to be done for 'chpldoc'.
cd chpl-venv && make chpldoc-venv
make[2]: Nothing to be done for 'chpldoc-venv'.
make[1]: Nothing to be done for 'llvm'.
cd compiler && make chpldoc
-- Configuring Chapel version: 2.5.0
-- CMAKE_INSTALL_PREFIX is /usr/local
CHPL_DEVELOPER is not set, using OFF
-- No CHPL_LLVM_GCC_PREFIX env var or value given from command line.
-- Using Python: python3
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.17")
Cannot build linters without LLVM - skipping
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/chapel/build/compiler/linux64/gnu/x86_64/hostmem-cstdlib/llvm-none/19/san-none
[  3%] checking sensitive files for version changes...
[  3%] Built target update-release-and-version-info
[ 96%] Built target ChplFrontend-obj
[100%] Built target git-sha-obj
[100%] Built target ChplFrontend
[100%] Built target chpldoc
make[1]: Nothing to be done for 'default'.
cd chpl-venv && make chpldoc-venv
make[3]: Nothing to be done for 'chpldoc-venv'.
cd man && make chpldoc
make[2]: Nothing to be done for 'chpldoc'.
cd chpl-venv && make test-venv
make[2]: Nothing to be done for 'test-venv'.
Running the chpldoc tests found in: /workspaces/chapel/test/release/examples
Testing /home/codespace/.chpl/chapel-test-1MyU3p/chpldoc.doc.chpl ... 
[done]
chpldoc installation works as expected!
cd chpl-venv && make chpldoc-venv
make[2]: Nothing to be done for 'chpldoc-venv'.
make[1]: Nothing to be done for 'llvm'.
cd compiler && make chpldoc
-- Configuring Chapel version: 2.5.0
-- CMAKE_INSTALL_PREFIX is /usr/local
CHPL_DEVELOPER is not set, using OFF
-- No CHPL_LLVM_GCC_PREFIX env var or value given from command line.
-- Using Python: python3
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.17")
Cannot build linters without LLVM - skipping
-- Configuring done
-- Generating done
-- Build files have been written to: /workspaces/chapel/build/compiler/linux64/gnu/x86_64/hostmem-cstdlib/llvm-none/19/san-none
[  3%] checking sensitive files for version changes...
[  3%] Built target update-release-and-version-info
[ 96%] Built target ChplFrontend-obj
[100%] Built target git-sha-obj
[100%] Built target ChplFrontend
[100%] Built target chpldoc
make[1]: Nothing to be done for 'default'.
cd chpl-venv && make chpldoc-venv
make[3]: Nothing to be done for 'chpldoc-venv'.
cd man && make chpldoc
make[2]: Nothing to be done for 'chpldoc'.
cd third-party && make try-re2;
make[2]: Nothing to be done for 'try-re2'.
cd third-party && make try-gmp;
make[2]: Nothing to be done for 'try-gmp'.
Making the runtime...
***** src/comm/ *****
***** src/comm/none/ *****
***** src/mem/ *****
***** src/mem/cstdlib/ *****
***** src/tasks/ *****
***** src/tasks/fifo/ *****
***** src/threads/ *****
***** src/threads/pthreads/ *****
***** src/timers/ *****
***** src/timers/generic/ *****
***** src/topo/ *****
***** src/topo/none/ *****
***** src/qio/regex/none/ *****
***** src/qio/ *****
***** src/gpu/none/ *****
***** src/gpu/ *****
***** src/ *****
***** ./ *****
Making the modules...
make[2]: Nothing to be done for 'default'.
cd tools/protoc-gen-chpl && make && make install
Building protoc-gen-chpl..
gcc     -pthread -I. -std=c++17 -o /workspaces/chapel/bin/linux64-x86_64/protoc-gen-chpl reflection_class.cpp message_field.cpp enum.cpp message.cpp repeated_primitive_field.cpp repeated_message_field.cpp repeated_enum_field.cpp field_base.cpp map_field.cpp primitive_field.cpp generator.cpp helpers.cpp enum_field.cpp protoc-gen-chpl.cpp -lprotobuf -pthread -lprotobuf -lprotoc -lstdc++
In file included from reflection_class.cpp:22:
./message.h:27:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   27 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from enum.cpp:22:
./helpers.h:28:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   28 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
message.cpp:25:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   25 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from field_base.cpp:24:
./helpers.h:28:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   28 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from generator.cpp:26:
./generator.h:26:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   26 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from helpers.cpp:23:
./helpers.h:28:10: fatal error: google/protobuf/compiler/code_generator.h: No such file or directory
   28 | #include <google/protobuf/compiler/code_generator.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
protoc-gen-chpl.cpp:21:10: fatal error: google/protobuf/compiler/plugin.h: No such file or directory
   21 | #include <google/protobuf/compiler/plugin.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:55: /workspaces/chapel/bin/linux64-x86_64/protoc-gen-chpl] Error 1
make: *** [Makefile:192: protoc-gen-chpl] Error 2
ERROR: make protoc-gen-chpl failed

(The protobuf error is unrelated to the changes)

Signed-off-by: Subhramit Basu <subhramit.bb@live.in>
@subhramit
Copy link
Author

Hi, I am new to Chapel.
I hope it is okay to request @bradcray @mppf @agirish and @jabraham17 to take a look in this context?

Thanks!

@jabraham17
Copy link
Member

Hi @subhramit, welcome to the Chapel community! I am happy to review this and help get it ready to merge.

Just letting you know that I'll review this today and if no changes are needed get it ready to merge. We are getting very close to a release (code freeze is June 4th) so this may not make the 2.5 release, since its a critical script in our testing infrastructure.

@subhramit
Copy link
Author

Hi @subhramit, welcome to the Chapel community! I am happy to review this and help get it ready to merge.

Thank you!

Just letting you know that I'll review this today and if no changes are needed get it ready to merge. We are getting very close to a release (code freeze is June 4th) so this may not make the 2.5 release, since its a critical script in our testing infrastructure.

Sure, makes perfect sense, Jade.

Copy link
Member

@jabraham17 jabraham17 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good to me! I am testing it locally now, but assuming that comes back clean everything is ready to merge (either now or post-release).

Please see the one comment I had, its a small thing but could make this script a little more portable

Signed-off-by: Subhramit Basu <subhramit.bb@live.in>
@subhramit
Copy link
Author

its a small thing but could make this script a little more portable

Learnt something new - thank you for the comment :)

@jabraham17
Copy link
Member

This PR is good to go, but given its significance to the CI I am going to hold off merging it until after the release. But I have flagged it to be merged immediately post release. Thanks so much for contributing this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Convert testReleaseHelp script to bash or python Remove usage of csh from repository
2 participants