Skip to content
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

checkout.sh and build_all.sh fail for develop at 9118ab3 #1086

Closed
RussTreadon-NOAA opened this issue Oct 22, 2022 · 1 comment · Fixed by #1088
Closed

checkout.sh and build_all.sh fail for develop at 9118ab3 #1086

RussTreadon-NOAA opened this issue Oct 22, 2022 · 1 comment · Fixed by #1088
Labels
bug Something isn't working

Comments

@RussTreadon-NOAA
Copy link
Contributor

Expected behavior
./checkout.sh should be an executable script. ./build_all.sh should build g-w apps

Current behavior
./checkout.sh is not executable from develop @ 9118ab3. ./build_all.sh fails with FATAL: Unable to determine target machine.

Machines affected
Only tested on Hera but expect the problem affects all machines supported by g-w.

To Reproduce

  1. git clone https://github.com/NOAA-EMC/global-workflow.git .
  2. cd sorc
  3. ./checkout.sh This fails with -bash: ./checkout.sh: Permission denied
  4. chmod 755 checkout.sh
  5. ./checkout.sh -g This runs to completion.
  6. ./build_all.sh This fails with FATAL: Unable to determine target machine

Additional Information
When users clone g-w develop at 9118ab3, they can not immediately execute checkout.sh. Instead they must manually change file permissions for checkout.sh. After g-w repos are cloned build_all.sh fails. As such users can not set up HOMEgfs from develop at 9118ab3 for a new experiment. They should not update an existing HOMEgfs with develop at 9118ab3 for the same reason.

Possible Implementation
checkout.sh should be committed to the develop branch with execute permission.

build_all.sh executes gfs_utils.fd/ush/machine-setup.sh. gfs_utils hash af933d3 deleted machine-setup.sh. build_all.sh needs to be updated with the appropriate script in gfs_utils hash af933d3. Alternatively, machine-setup.sh needs to be restored to gfs_utils or made available elsewhere.

@RussTreadon-NOAA RussTreadon-NOAA added the bug Something isn't working label Oct 22, 2022
@RussTreadon-NOAA
Copy link
Contributor Author

RussTreadon-NOAA commented Oct 22, 2022

Commit 3467e86 changed the gfs_utils hash from 7bf599f to af933d3.

Given this, ran the following test:

  • change the gfs-utils hash in checkout.sh to 7bf599f
  • chmod 755 checkout.sh
  • ./checkout.sh -g
  • ./build_all.sh

gfs-utils at 7bf599f contains ush/machine-setup.sh. build_all.sh successfully built all apps except one.

The one app not successfully built was gfs_utils. build_gfs_utils.sh changed with 9118ab3. The 9118ab3 build_gfs_utils.sh does not work with gfs_utils at 7bf599f. gfs_utils at 7bf599f has the build script in gfs_utils.fd/sorc. The 9118ab3 build_gfs_utils.sh looks for the build script in gfs_utils.fd/ush

WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Oct 23, 2022
A recent update changed the name of the script that determines the
machine to `detect_machine.sh`, so scripts that call that script
had to be updated. The variable name holding the machine name has
also changed (from `$target` to `$MACHINE_ID`) and it may now
include a compiler at the end, so changes were necessary to account
for that.

The WW3 build is changed completely to use the UFS modules instead
of maintaining separate modules in workflow that may use different
module versions.

Refs NOAA-EMC#1086
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Oct 23, 2022
A recent merge inadvertently removed the execute permissions from
`checkout.sh`.

Refs NOAA-EMC#1086
WalterKolczynski-NOAA added a commit that referenced this issue Oct 24, 2022
The recent update of the gfs_utils version in PR #1082 introduced some gfs_util that weren't accounted for in the original PR. gfs_utils changed the name of the script that determines the machine to `detect_machine.sh`, so scripts that call that script had to be updated. The variable name holding the machine name has also changed (from `$target` to `$MACHINE_ID`) and it may now include a compiler at the end, so changes were necessary to account for that.

The WW3 build is changed completely to use the UFS modules to be consistent with the rest of UFS instead of maintaining separate modules in workflow that may use different module versions.

Also reverts an inadvertent removal of execute permissions for `checkout.sh`

Fixes #1086
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant