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

Bump base image Ubuntu to 24.04, Bump gdal to 3.9 #3995

Merged
merged 139 commits into from
Oct 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
592e710
ubuntu 24.04 and tippecanoe 2.62.5
conbrad Oct 2, 2024
42916b6
update build.yaml
conbrad Oct 2, 2024
f5cc47b
check for existing group, update readme command
conbrad Oct 2, 2024
74fab44
put it in build.yaml
conbrad Oct 2, 2024
478a8ed
Test out groud add
conbrad Oct 2, 2024
f23dd3c
Try again
conbrad Oct 2, 2024
0a655ac
add back rest of build
conbrad Oct 2, 2024
06e2da3
Remove pip install
conbrad Oct 2, 2024
6f294cf
Update docker reference file
conbrad Oct 2, 2024
5fe2512
update references to new build
conbrad Oct 2, 2024
892cc34
Remove pip upgrade
conbrad Oct 2, 2024
c579767
update ids
conbrad Oct 2, 2024
cda732d
more id stuff
conbrad Oct 2, 2024
c85c881
update poetry configuration
conbrad Oct 2, 2024
a4c1557
specify gdal version
conbrad Oct 2, 2024
4fc828b
try to install numpy before gdal
conbrad Oct 2, 2024
9cb0f52
try again
conbrad Oct 2, 2024
8b4de37
try another way
conbrad Oct 2, 2024
d490413
update docs and gha jobs
conbrad Oct 2, 2024
53919dd
Bump python in s3-backup
conbrad Oct 2, 2024
d365eda
missed version reference
conbrad Oct 2, 2024
92f4318
Try to install gdal differently for integration
conbrad Oct 2, 2024
6776560
Fix chaines stuff
conbrad Oct 2, 2024
7c2b55e
Use ruff for s3-backup
conbrad Oct 2, 2024
341cdf0
undo env setting
conbrad Oct 2, 2024
a61d037
Remove shapely from tileserv, adjust process hfi params, temporarily …
conbrad Oct 3, 2024
895078c
local script for all stats processing, using old image
conbrad Oct 3, 2024
12ecd18
add back version
conbrad Oct 3, 2024
32f163a
undo
conbrad Oct 3, 2024
cd17c82
skip stuff to simplify, add exceptions
conbrad Oct 3, 2024
f1c4384
Try adding fully qualified table name in cutline sql
conbrad Oct 3, 2024
aca2673
try to set search path
conbrad Oct 3, 2024
afc5aa8
db conn strings with default schema
conbrad Oct 3, 2024
e07c017
Try with connect args
conbrad Oct 3, 2024
5ac3e99
Use different connect args for asyncpg
conbrad Oct 3, 2024
6317cf0
Undo connection string changes
conbrad Oct 3, 2024
ffa2e84
ignore search path startup parameter in pgbouncer, bump timeout
conbrad Oct 3, 2024
2ed60f6
just search path for asyncpg
conbrad Oct 3, 2024
c7b1b47
undo db connection settings
conbrad Oct 3, 2024
538ff7c
comment out cutlinesql block
conbrad Oct 3, 2024
cd9ccba
try with schema qualifier
conbrad Oct 3, 2024
ab55a89
Try running newer gdal
conbrad Oct 3, 2024
c8ef7ca
add command
conbrad Oct 3, 2024
9998eef
install as root
conbrad Oct 3, 2024
e746f45
Try more deps
conbrad Oct 3, 2024
2629811
Go back to stock gdal
conbrad Oct 3, 2024
fe0589d
change db connection string for gdal
conbrad Oct 3, 2024
fde929b
Try adding schema args
conbrad Oct 3, 2024
93068c8
Try with metadata
conbrad Oct 3, 2024
f4924e2
Try with old string
conbrad Oct 3, 2024
3a91164
remove lookup for sfms fuel types
conbrad Oct 3, 2024
745140d
Try replacing gdal sql lookup
conbrad Oct 3, 2024
dc1ba92
Just process fuel types, await coroutine
conbrad Oct 7, 2024
a27a161
Fix bug
conbrad Oct 7, 2024
312bfa6
Fix await
conbrad Oct 7, 2024
0f72b07
Try with memory driver
conbrad Oct 7, 2024
80934b3
Try it with create data source
conbrad Oct 7, 2024
cf09088
Try integer type
conbrad Oct 7, 2024
9caa089
try again
conbrad Oct 7, 2024
5a65059
try scalars
conbrad Oct 7, 2024
ad35dd7
try different reproject method
conbrad Oct 7, 2024
9a842b5
Get fuel stats working
conbrad Oct 8, 2024
cb54760
Add back processing hfi
conbrad Oct 8, 2024
0db5f8f
Try processing tpi
conbrad Oct 8, 2024
8498426
bump CPU
conbrad Oct 8, 2024
f0c2d16
Clean up advisory shape when done with warp
conbrad Oct 8, 2024
94aa3c2
Merge branch 'main' into task/bump-base-image-deps
conbrad Oct 8, 2024
32f6539
Bump memory
conbrad Oct 8, 2024
43cdb4d
Back to original implementation
conbrad Oct 8, 2024
04de7ab
Try prefixing with PG
conbrad Oct 8, 2024
769a229
try with query param
conbrad Oct 8, 2024
44e2a0f
log params
conbrad Oct 8, 2024
741c438
Enable cpl debug
conbrad Oct 8, 2024
ec7c6d8
supply user to pgbouncer config
conbrad Oct 8, 2024
adf2f04
remove databases
conbrad Oct 8, 2024
7fc7e9d
try auth user
conbrad Oct 8, 2024
92b2d8e
hardcode
conbrad Oct 8, 2024
8570a68
Remove hardcoded user
conbrad Oct 8, 2024
c7a1827
Trigger Build
conbrad Oct 8, 2024
8aff13d
bandaid with set search path explicitly
conbrad Oct 8, 2024
bbd2ec8
Use gdal image, prepend schema to gdal sql queries
conbrad Oct 9, 2024
9d5d6fc
prepend public
conbrad Oct 9, 2024
fd9d9f6
add search path for migrations
conbrad Oct 9, 2024
92f4dbc
set search path in migrations context
conbrad Oct 9, 2024
ea8d5bc
Remove set search path
conbrad Oct 9, 2024
8cbbcb6
Set path to public in api
conbrad Oct 9, 2024
58d92c1
Trigger Build
conbrad Oct 9, 2024
ad2e742
after configuration
conbrad Oct 9, 2024
9cef433
more references adding public schema
conbrad Oct 9, 2024
0a88818
Use value of enum
conbrad Oct 9, 2024
9f7ab3e
Undo
conbrad Oct 9, 2024
a9b649c
Use wkt cutline
conbrad Oct 10, 2024
2237659
remove set search path alembic
conbrad Oct 10, 2024
0a6b638
Renable processes, turn off gdal debug logging
conbrad Oct 10, 2024
ba6706b
Merge branch 'main' into task/bump-base-image-gdal
conbrad Oct 10, 2024
dbc01a8
Re-enable process hfi
conbrad Oct 10, 2024
d733f45
update base packages
conbrad Oct 10, 2024
b8e509e
Cleanup
conbrad Oct 10, 2024
8bae1fb
24.04 everywhere
conbrad Oct 10, 2024
8bd4cf9
r-base
conbrad Oct 10, 2024
49b3815
More R dependencies
conbrad Oct 10, 2024
c36f5a8
build essential
conbrad Oct 10, 2024
af98c91
Try another run step
conbrad Oct 10, 2024
9e8c398
Remove installing twice
conbrad Oct 10, 2024
6cd8637
Have python tests run in gdal container
conbrad Oct 10, 2024
dd84611
no sudo
conbrad Oct 10, 2024
d939a23
add poetry bin to path in container
conbrad Oct 10, 2024
688fb1e
export path elsewhere
conbrad Oct 10, 2024
f3b8d7f
remove libgdal fix lint
conbrad Oct 10, 2024
1882b08
remove container
conbrad Oct 10, 2024
5332302
Try with uses
conbrad Oct 10, 2024
e8ff87f
Remove uses
conbrad Oct 10, 2024
beba74b
include libtirpc-dev dep
conbrad Oct 10, 2024
1a76403
add libgdal-dev
conbrad Oct 10, 2024
9520a8c
Fix up lint dependencies
conbrad Oct 10, 2024
56d8fa3
Try gdal seperately
conbrad Oct 10, 2024
1f3ec88
just check gdal version
conbrad Oct 10, 2024
329acae
Try not reinstalling
conbrad Oct 10, 2024
6eea9b7
Try full workflow
conbrad Oct 10, 2024
b40e58b
fix step
conbrad Oct 10, 2024
75a7110
export path
conbrad Oct 10, 2024
5a99799
path again
conbrad Oct 10, 2024
5abc70f
libpg
conbrad Oct 10, 2024
411f68f
Now add R install
conbrad Oct 10, 2024
41e9a88
fix indent
conbrad Oct 10, 2024
c3505aa
try without matrix
conbrad Oct 10, 2024
d639f2f
Remove gdal action
conbrad Oct 10, 2024
83f9dda
ignore for ignore_startup_parameters
conbrad Oct 10, 2024
88cbb3e
remove unused variable
conbrad Oct 10, 2024
9837f60
Missed some ubuntu updates
conbrad Oct 10, 2024
14ab106
Trigger Build
conbrad Oct 10, 2024
095b46b
update comment
conbrad Oct 10, 2024
dfaba15
Bump cleanup job too
conbrad Oct 10, 2024
8ab763f
Simplify spatial ref lookup
conbrad Oct 10, 2024
72f7840
Merge branch 'main' into task/bump-base-image-gdal
conbrad Oct 15, 2024
07f594c
Limit dev resources
conbrad Oct 15, 2024
acc4c39
update image tags
conbrad Oct 15, 2024
87c1012
Update other references to base image
conbrad Oct 15, 2024
0f295d1
Add oc tools to production workflow
conbrad Oct 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
cleanup-non-db:
name: Delete non-DB resources associated with pr
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
dgboss marked this conversation as resolved.
Show resolved Hide resolved
Expand Down Expand Up @@ -40,7 +40,7 @@ jobs:
cleanup-db:
name: Delete DB resources associated with PR
needs: cleanup-non-db
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand Down
53 changes: 44 additions & 9 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
prepare-dev-database:
name: Prepare Dev Database
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand All @@ -18,6 +18,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: Deploy PostGIS instance
shell: bash
run: |
Expand All @@ -29,7 +34,7 @@ jobs:
# it here increases the odds that it get's started 1st, so api and web are slightly more likely
# to finish building at the same time.
name: Build Web Image
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand All @@ -39,6 +44,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: Build wps-web Image
shell: bash
run: |
Expand All @@ -47,7 +57,7 @@ jobs:

build-api-image:
name: Build API Image
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand All @@ -57,6 +67,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: Build wps-api Image
shell: bash
run: |
Expand All @@ -83,7 +98,7 @@ jobs:

configure-nats-server-name:
name: Configure nats server name
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand All @@ -93,6 +108,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: Configure
shell: bash
run: |
Expand All @@ -110,7 +130,7 @@ jobs:
deploy-dev-queue,
configure-nats-server-name,
]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Set Variables
shell: bash
Expand All @@ -120,6 +140,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: Deploy API to Dev
shell: bash
run: |
Expand Down Expand Up @@ -219,7 +244,7 @@ jobs:
deploy-dev-queue:
name: Deploy Message Queue to Dev
if: github.triggering_actor != 'renovate'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
# We need
# - the image to be built before we can deploy.
# - we need the tileserv database up so we can write to it
Expand All @@ -233,6 +258,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: NATS Message Queue
shell: bash
run: |
Expand All @@ -242,7 +272,7 @@ jobs:
scan-dev:
name: ZAP Baseline Scan Dev
needs: [deploy-dev]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
# f.y.i.: ZAP Scan must be able to log an issue or it will fail.
Expand All @@ -257,7 +287,7 @@ jobs:
run-schemathesis:
name: Schemathesis Fuzzing
if: github.triggering_actor != 'renovate'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [deploy-dev]

steps:
Expand All @@ -274,7 +304,7 @@ jobs:
deploy-c-haines:
name: Deploy c-haines cronjob
if: github.triggering_actor != 'renovate'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
# We need
# - the image to be built before we can deploy.
# - the database to be there (so we can write to it).
Expand All @@ -289,6 +319,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install OpenShift CLI tools
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.14"

- name: C-Haines Cronjob
shell: bash
run: |
Expand Down
54 changes: 28 additions & 26 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ on:
jobs:
lint-api:
name: Python - Lint
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: [3.10.4]
python-version: [3.12.3]
steps:
- name: Checkout repo
uses: actions/checkout@v4
Expand All @@ -19,7 +19,7 @@ jobs:
# cffdrs requires libudunits2-dev
run: |
sudo apt-get update
sudo apt-get -y install libgdal-dev libudunits2-dev
sudo apt-get -y install libudunits2-dev r-base-dev libgdal-dev libproj-dev libgeos-dev libsqlite3-dev libtirpc-dev
- name: Setup Python ${{ matrix.python-version }} (api)
uses: actions/setup-python@v5
with:
Expand All @@ -31,7 +31,7 @@ jobs:
cache-name: cache-poetry-installer
with:
path: "~/poetry_installer"
key: "poetry-installer-1.6.1"
key: "poetry-installer-1.8.3"
- name: Download poetry installer
if: steps.cache-poetry-installer.outputs.cache-hit != 'true'
run: |
Expand All @@ -41,7 +41,7 @@ jobs:
- name: Install poetry (api)
run: |
cd ~/poetry_installer
python install-poetry.py --version 1.6.1
python install-poetry.py --version 1.8.3
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
- name: Cache poetry
Expand All @@ -50,22 +50,23 @@ jobs:
cache-name: cache-poetry
with:
path: ~/.cache/pypoetry
key: ${{ runner.os }}-poetry-1.6.1-cache-${{ hashFiles('**/poetry.lock') }}
key: ${{ runner.os }}-poetry-1.8.3-cache-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
${{ runner.os }}-poetry-1.6.1-cache-
${{ runner.os }}-poetry-1.8.3-cache-
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/api/.venv
key: ${{ runner.os }}-venv-poetry-1.6.1-${{ hashFiles('**/poetry.lock') }}
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (api)
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./api
run: |
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install gdal==$(gdal-config --version)
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- name: Lint (api)
# We used to be able to do linting before installing gdal, but it's not possible anymore.
# We can however place it ahead of the R installs.
Expand All @@ -75,11 +76,11 @@ jobs:

test-api:
name: Python - Test with coverage
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
# Match versions for python + R to Ubuntu 22.04 LTS at the time of writing.
python-version: [3.10.4]
# Match versions for python to Ubuntu 24.04 LTS at the time of writing. Keep R at same version.
python-version: [3.12.3]
R: ["4.1.2"]
steps:
- name: Checkout repo
Expand All @@ -93,7 +94,7 @@ jobs:
# The api uses wkhtmltopdf to generate pdf's.
run: |
sudo apt-get update
sudo apt-get -y install libgdal-dev wkhtmltopdf libudunits2-dev
sudo apt-get -y install wkhtmltopdf libudunits2-dev r-base-dev build-essential libgdal-dev libproj-dev libgeos-dev libsqlite3-dev libtirpc-dev
- name: Setup Python ${{ matrix.python-version }} (api)
uses: actions/setup-python@v5
with:
Expand All @@ -105,7 +106,7 @@ jobs:
cache-name: cache-poetry-installer
with:
path: "~/poetry_installer"
key: "poetry-installer-1.6.1"
key: "poetry-installer-1.8.3"
- name: Download poetry installer
if: steps.cache-poetry-installer.outputs.cache-hit != 'true'
run: |
Expand All @@ -115,7 +116,7 @@ jobs:
- name: Install poetry (api)
run: |
cd ~/poetry_installer
python install-poetry.py --version 1.6.1
python install-poetry.py --version 1.8.3
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
# poetry cache folder: /home/runner/.cache/pypoetry
Expand All @@ -125,22 +126,23 @@ jobs:
cache-name: cache-poetry
with:
path: ~/.cache/pypoetry
key: ${{ runner.os }}-poetry-1.6.1-cache-${{ hashFiles('**/poetry.lock') }}
key: ${{ runner.os }}-poetry-1.8.3-cache-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
${{ runner.os }}-poetry-1.6.1-cache-
${{ runner.os }}-poetry-1.8.3-cache-
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/api/.venv
key: ${{ runner.os }}-venv-poetry-1.6.1-${{ hashFiles('**/poetry.lock') }}
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (api)
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./api
run: |
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install gdal==$(gdal-config --version)
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- uses: r-lib/actions/setup-r@v2
# r-lib/actions/setup-r@v2 is supposed to install version ${{ matrix.R }}, BUT, it doesn't.
# When asking for 4.1.2 - it's installing a new version! Or at least reporting a newer
Expand Down Expand Up @@ -179,7 +181,7 @@ jobs:
path: ./api/coverage-reports/coverage-report.xml
lint-and-test-web:
name: Web - Lint, Test with coverage
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
node-version: [20.x]
Expand Down Expand Up @@ -226,7 +228,7 @@ jobs:
path: ./web/finalCoverage
upload-code-coverage:
name: Coverage with CodeCov
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [lint-and-test-web, test-api]
steps:
# we need to checkout, so that we have codecov.yml
Expand All @@ -244,10 +246,10 @@ jobs:
name: Backup Prune - Lint and Test
# We have to use an older ubuntu version, because of the older version of python that the
# backup script uses.
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: [3.11.2]
python-version: [3.12.3]
steps:
- name: Checkout repo
uses: actions/checkout@v4
Expand All @@ -265,7 +267,7 @@ jobs:
cache-name: cache-poetry-installer
with:
path: "~/poetry_installer"
key: "poetry-installer-1.7.1"
key: "poetry-installer-1.8.3"
- name: Download poetry installer
if: steps.cache-poetry-installer.outputs.cache-hit != 'true'
run: |
Expand All @@ -275,7 +277,7 @@ jobs:
- name: Install poetry (api)
run: |
cd ~/poetry_installer
python install-poetry.py --version 1.7.1
python install-poetry.py --version 1.8.3
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
# poetry cache folder: /home/runner/.cache/pypoetry
Expand All @@ -294,7 +296,7 @@ jobs:
poetry install
- name: Lint (s3-backup)
working-directory: ./openshift/s3-backup/docker
run: poetry run pylint *.py
run: poetry run ruff check *.py
- name: Unit tests (s3-backup)
working-directory: ./openshift/s3-backup/docker
run: |
Expand Down
Loading
Loading