Get go version from go.mod

No need to update multiple places when bumping the go version.
This commit is contained in:
pagedown 2023-02-11 20:33:08 +08:00
parent 64fe9f82ed
commit 3c7df680cf
No known key found for this signature in database
GPG Key ID: E921CF18AC8FF6EB
4 changed files with 15 additions and 7 deletions

View File

@ -5,7 +5,6 @@ env:
ASAN_OPTIONS: leak_check_at_exit=0 ASAN_OPTIONS: leak_check_at_exit=0
LC_ALL: en_US.UTF-8 LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8 LANG: en_US.UTF-8
GO_INSTALL_VERSION: ">=1.20.0"
permissions: permissions:
contents: read # to fetch code (actions/checkout) contents: read # to fetch code (actions/checkout)
@ -58,7 +57,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: ${{ env.GO_INSTALL_VERSION }} go-version-file: go.mod
- name: Build kitty - name: Build kitty
run: python .github/workflows/ci.py build run: python .github/workflows/ci.py build
@ -88,7 +87,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: ${{ env.GO_INSTALL_VERSION }} go-version-file: go.mod
- name: Install build-only deps - name: Install build-only deps
run: python -m pip install -r docs/requirements.txt ruff mypy types-requests types-docutils run: python -m pip install -r docs/requirements.txt ruff mypy types-requests types-docutils
@ -137,7 +136,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: ${{ env.GO_INSTALL_VERSION }} go-version-file: go.mod
- name: Build kitty - name: Build kitty
run: which python3 && python3 .github/workflows/ci.py build run: which python3 && python3 .github/workflows/ci.py build
@ -162,7 +161,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: ${{ env.GO_INSTALL_VERSION }} go-version-file: go.mod
- name: Build kitty - name: Build kitty
run: python3 .github/workflows/ci.py build run: python3 .github/workflows/ci.py build

View File

@ -26,7 +26,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: ">=1.20.0" go-version-file: go.mod
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3

View File

@ -46,7 +46,7 @@ Run-time dependencies:
Build-time dependencies: Build-time dependencies:
* ``gcc`` or ``clang`` * ``gcc`` or ``clang``
* ``go >= 1.20`` (see :file:`go.mod` for go packages used during building) * ``go`` >= _build_go_version (see :file:`go.mod` for go packages used during building)
* ``pkg-config`` * ``pkg-config``
* For building on Linux in addition to the above dependencies you might also * For building on Linux in addition to the above dependencies you might also
need to install the following packages, if they are not already installed by need to install the following packages, if they are not already installed by

View File

@ -106,8 +106,17 @@ rst_prolog = '''
'''.replace('VERSION', str_version) '''.replace('VERSION', str_version)
smartquotes_action = 'qe' # educate quotes and ellipses but not dashes smartquotes_action = 'qe' # educate quotes and ellipses but not dashes
def go_version(go_mod_path: str) -> str: # {{{
with open(go_mod_path) as f:
for line in f:
if line.startswith('go '):
return line.strip().split()[1]
raise SystemExit(f'No Go version in {go_mod_path}')
# }}}
string_replacements = { string_replacements = {
'_kitty_install_cmd': 'curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin', '_kitty_install_cmd': 'curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin',
'_build_go_version': go_version('../go.mod'),
} }