Skip to content
Snippets Groups Projects
Commit f9af30f8 authored by Ömer Sinan Ağacan's avatar Ömer Sinan Ağacan Committed by Marge Bot
Browse files

Remove fix-submodules.py

Now that we have absolute paths for submodules (since a76b233d) we no
longer need this script.
parent 4c7a8462
No related branches found
No related tags found
No related merge requests found
......@@ -12,7 +12,6 @@ variables:
GIT_DEPTH: 0
before_script:
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -217,7 +216,6 @@ validate-x86_64-linux-deb9-hadrian:
before_script:
# workaround for docker permissions
- sudo chown ghc:ghc -R .
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -232,7 +230,6 @@ hadrian-ghc-in-ghci:
before_script:
# workaround for docker permissions
- sudo chown ghc:ghc -R .
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -313,7 +310,6 @@ validate-x86_64-darwin:
TEST_ENV: "x86_64-darwin"
before_script:
- git clean -xdf && git submodule foreach git clean -xdf
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -347,7 +343,6 @@ validate-x86_64-darwin:
TEST_ENV: "x86_64-darwin"
before_script:
- git clean -xdf && git submodule foreach git clean -xdf
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -379,7 +374,6 @@ validate-x86_64-darwin:
- x86_64-linux
before_script:
- git clean -xdf && git submodule foreach git clean -xdf
- python3 .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......@@ -684,7 +678,6 @@ validate-x86_64-linux-fedora27:
set TEMP=%cd%\tmp
- set PATH=C:\msys64\usr\bin;%PATH%
- python .gitlab/fix-submodules.py
- git submodule sync --recursive
- git submodule update --init --recursive
- git checkout .gitmodules
......
#!/usr/bin/env python3
"""
Fix submodule upstream URLs. This ensures that CI builds of GHC forks
clone their submodules from its usual location. Otherwise users would need to
fork all submodules before their CI builds would succeed.
"""
from pathlib import Path
import re
x = open('.gitmodules').read()
x = re.sub(r"url *= *\.\.", "url = https://gitlab.haskell.org/ghc", x)
open('.gitmodules', 'w').write(x)
import subprocess
def get_configs(config_file):
args = ['git', 'config', '-f', config_file.as_posix(), '--list']
out = subprocess.check_output(args)
configs = {}
for line in out.decode('UTF-8').split('\n'):
if '=' in line:
k,v = line.split('=')
configs[k] = v
return configs
def set_config(config_file, key, value):
args = ['git', 'config', '-f', config_file.as_posix(), '--replace', key, value]
subprocess.check_call(args)
upstreams = {
'utils/haddock': 'https://github.com/haskell/haddock'
}
modules_config = Path('.gitmodules')
def main():
for k,v in get_configs(modules_config).items():
match = re.match('submodule\.(.+)\.url', k)
if match is not None:
submod = match.group(1)
if submod in upstreams:
url = upstreams[submod]
else:
url = re.sub('\.\.', 'https://gitlab.haskell.org/ghc', v)
print('Using {submod} from {url}'.format(submod=submod, url=url))
set_config(modules_config, k, url)
if __name__ == '__main__':
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment