From c45ecd0fa96a84fd0a44a6a21da66306f1cfd0f4 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:31:15 -0400 Subject: [PATCH 01/15] fix: use nmwdh for JSON-LD construction --- geoconnex_utils/src/jsonld.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geoconnex_utils/src/jsonld.rs b/geoconnex_utils/src/jsonld.rs index 0cbddb9..5b459e8 100644 --- a/geoconnex_utils/src/jsonld.rs +++ b/geoconnex_utils/src/jsonld.rs @@ -60,14 +60,14 @@ pub fn construct_dataset_jsonld_from_metadata( }, "@type": "Dataset", // TODO: Customize namespace based on CKAN instance being used - "@id": format!("https://geoconnex.us/ckan/sandbox/{dataset_id}"), + "@id": format!("https://geoconnex.us/ckan/nmwdh/{dataset_id}"), "name": dataset_title, "provider": { "@type": "Organization", "name": organization_name }, // TODO: Customize CKAN instance URL based on CKAN instance being used - "url": format!("https://sandbox.opendataportal.us/dataset/{dataset_id}") + "url": format!("https://catalog.newmexicowaterdata.org/dataset/{dataset_id}") }); let jsonld_map = jsonld.as_object_mut().unwrap(); if about.len() > 0 { From 235863b84cd470546824ef16cb71ddcffcbe6839 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:40:00 -0400 Subject: [PATCH 02/15] ci: add container publish workflow --- .github/workflows/container.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/container.yml diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml new file mode 100644 index 0000000..e4fcc1f --- /dev/null +++ b/.github/workflows/container.yml @@ -0,0 +1,29 @@ +name: Publish bulk loader Docker container + +on: + workflow_dispatch: + +jobs: + build_and_push: + runs-on: ubuntu-latest + steps: + - name: Login to GitHub Container Registry + uses: docker/login-action@v4 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + + - name: Build and push + uses: docker/build-push-action@v7 + with: + context: ./bulk_loader + file: ./bulk_loader/Dockerfile + push: true + tags: ghcr.io/dathere/ckan_geoconnex_bulk_runner:latest + cache-from: type=gha,scope=ckan_geoconnex_bulk_runner + platforms: linux/amd64 + cache-to: type=gha,mode=max,scope=ckan_geoconnex_bulk_runner From c29108a278975f2af804f551ff5029282948a762 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:42:06 -0400 Subject: [PATCH 03/15] ci: fix file parameter --- .github/workflows/container.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index e4fcc1f..cd8b97a 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -21,7 +21,7 @@ jobs: uses: docker/build-push-action@v7 with: context: ./bulk_loader - file: ./bulk_loader/Dockerfile + file: ./Dockerfile push: true tags: ghcr.io/dathere/ckan_geoconnex_bulk_runner:latest cache-from: type=gha,scope=ckan_geoconnex_bulk_runner From f17b3a7700e48763bf7a87b4f8cdcbd331f6b399 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:48:13 -0400 Subject: [PATCH 04/15] ci: use default Git context --- .github/workflows/container.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index cd8b97a..52eaba2 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -20,8 +20,7 @@ jobs: - name: Build and push uses: docker/build-push-action@v7 with: - context: ./bulk_loader - file: ./Dockerfile + file: ./bulk_loader/Dockerfile push: true tags: ghcr.io/dathere/ckan_geoconnex_bulk_runner:latest cache-from: type=gha,scope=ckan_geoconnex_bulk_runner From 9da7d042deaba89f149862147da6db621563b334 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 11:49:55 -0400 Subject: [PATCH 05/15] build: only build bulk_loader crate --- bulk_loader/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bulk_loader/Dockerfile b/bulk_loader/Dockerfile index 9b049ec..d1f6037 100644 --- a/bulk_loader/Dockerfile +++ b/bulk_loader/Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.96 AS builder WORKDIR /app RUN rustup set profile minimal COPY . . -RUN cargo build --release +RUN cargo build -p bulk_loader --release FROM ubuntu:latest COPY --from=builder /app/target/release/bulk_loader / From 59564c9de3ef6fed614dc9ef2133e8550a03537c Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Mon, 15 Jun 2026 13:02:51 -0400 Subject: [PATCH 06/15] build: include ca-certificates in container --- bulk_loader/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bulk_loader/Dockerfile b/bulk_loader/Dockerfile index d1f6037..87aa04f 100644 --- a/bulk_loader/Dockerfile +++ b/bulk_loader/Dockerfile @@ -5,5 +5,7 @@ COPY . . RUN cargo build -p bulk_loader --release FROM ubuntu:latest +RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates +RUN update-ca-certificates COPY --from=builder /app/target/release/bulk_loader / ENTRYPOINT ["/bulk_loader"] From 7c8fac233e95478bdfe834172783839296d409b8 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:38:24 -0400 Subject: [PATCH 07/15] feat: multi-CKAN-instance compatibility --- .github/workflows/container.yml | 5 +++ .github/workflows/release.yml | 18 ++++++++-- bulk_loader/src/main.rs | 4 ++- ckan_geoconnex_bulk_runner_py/src/lib.rs | 42 ++++++++++++------------ generate_release/src/main.rs | 13 ++++---- geoconnex_utils/src/jsonld.rs | 6 ++-- 6 files changed, 55 insertions(+), 33 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 52eaba2..8401d2a 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -6,6 +6,9 @@ on: jobs: build_and_push: runs-on: ubuntu-latest + strategy: + matrix: + namespace: [New_Mexico_Water_Data_Catalog] steps: - name: Login to GitHub Container Registry uses: docker/login-action@v4 @@ -26,3 +29,5 @@ jobs: cache-from: type=gha,scope=ckan_geoconnex_bulk_runner platforms: linux/amd64 cache-to: type=gha,mode=max,scope=ckan_geoconnex_bulk_runner + env: + NAMESPACE: ${{ matrix.namespace }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b91bcb..5124011 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,11 +2,21 @@ name: Publish CKAN-Geoconnex JSONL file as latest release on: release: types: [published] + workflow_dispatch: permissions: # To upload to releases contents: write jobs: publish: + strategy: + matrix: + ckan_instance: [ + { + name: New_Mexico_Water_Data_Catalog, + url: https://catalog.newmexicowaterdata.org, + token: ${{ secrets.NMWDC_API_BULK_LOADER_TOKEN }} + } + ] name: Publish JSONL file runs-on: ubuntu-latest steps: @@ -20,8 +30,10 @@ jobs: - name: Run generate_release crate and upload JSONL file run: | cd ${{github.workspace}} - cargo run -p generate_release --release --verbose > ckan-geoconnex-web-resources.jsonl - gh release upload ${{github.event.release.tag_name}} ckan-geoconnex-web-resources.jsonl + cargo run -p generate_release --release --verbose > ckan-geoconnex-web-resources-${{ matrix.namespace }}.jsonl + gh release upload ${{github.event.release.tag_name}} ckan-geoconnex-web-resources-${{ matrix.namespace }}.jsonl env: GITHUB_TOKEN: ${{ github.TOKEN }} - NMWDC_API_BULK_LOADER_TOKEN: ${{ secrets.NMWDC_API_BULK_LOADER_TOKEN }} + NAMESPACE: ${{ matrix.namespace }} + INSTANCE_URL: ${{ matrix.ckan_instance.url }} + API_TOKEN: ${{ matrix.ckan_instance.token }} diff --git a/bulk_loader/src/main.rs b/bulk_loader/src/main.rs index d84216f..2073401 100644 --- a/bulk_loader/src/main.rs +++ b/bulk_loader/src/main.rs @@ -2,9 +2,11 @@ use anyhow::Result; #[tokio::main] async fn main() -> Result<()> { + // Get the CKAN instance's Geoconnex namespace to filter for its JSON-LD data + let namespace = std::env!("NAMESPACE"); // Get latest release data which is organized as a single JSONL file // at https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest - let body = reqwest::get("https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest/download/ckan-geoconnex-web-resources.jsonl") + let body = reqwest::get(format!("https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest/download/ckan-geoconnex-web-resources-{namespace}.jsonl")) .await? .text() .await?; diff --git a/ckan_geoconnex_bulk_runner_py/src/lib.rs b/ckan_geoconnex_bulk_runner_py/src/lib.rs index 76a45d4..26c537f 100644 --- a/ckan_geoconnex_bulk_runner_py/src/lib.rs +++ b/ckan_geoconnex_bulk_runner_py/src/lib.rs @@ -6,25 +6,25 @@ use pyo3::prelude::*; mod ckan_geoconnex_bulk_runner_py { use pyo3::{exceptions::PyException, prelude::*}; - #[pyfunction] - /// Construct Geoconnex-compatible JSON-LD as a string from dataset metadata. - /// - /// Input: Dataset metadata (output of /package_show for a CKAN dataset) as a string. - /// Output: Constructed Geoconnex-compatible JSON-LD as a string. - fn construct_dataset_jsonld_from_metadata(dataset_metadata: String) -> PyResult { - match serde_json::to_value(dataset_metadata) { - Ok(dataset_json) => { - match geoconnex_utils::jsonld::construct_dataset_jsonld_from_metadata(dataset_json) - { - Ok(jsonld) => serde_json::to_string(&jsonld).map_err(|e| { - PyException::new_err(format!( - "Error when converting JSON-LD to string: {e}" - )) - }), - Err(e) => Err(PyException::new_err(e.to_string())), - } - } - Err(e) => Err(PyException::new_err(e.to_string())), - } - } + // #[pyfunction] + // Construct Geoconnex-compatible JSON-LD as a string from dataset metadata. + // + // Input: Dataset metadata (output of /package_show for a CKAN dataset) as a string. + // Output: Constructed Geoconnex-compatible JSON-LD as a string. + // fn construct_dataset_jsonld_from_metadata(dataset_metadata: String) -> PyResult { + // match serde_json::to_value(dataset_metadata) { + // Ok(dataset_json) => { + // match geoconnex_utils::jsonld::construct_dataset_jsonld_from_metadata(dataset_json) + // { + // Ok(jsonld) => serde_json::to_string(&jsonld).map_err(|e| { + // PyException::new_err(format!( + // "Error when converting JSON-LD to string: {e}" + // )) + // }), + // Err(e) => Err(PyException::new_err(e.to_string())), + // } + // } + // Err(e) => Err(PyException::new_err(e.to_string())), + // } + // } } diff --git a/generate_release/src/main.rs b/generate_release/src/main.rs index db2abf8..944d17e 100644 --- a/generate_release/src/main.rs +++ b/generate_release/src/main.rs @@ -4,15 +4,14 @@ use std::collections::HashMap; #[tokio::main] async fn main() -> Result<()> { - // Identify required header data - let Ok(nmwdc_token) = std::env::var("NMWDC_API_BULK_LOADER_TOKEN") else { - bail!("Could not find environment variable NMWDC_API_BULK_LOADER_TOKEN."); - }; + let namespace = env!("NAMESPACE"); + let token = env!("API_TOKEN"); + let instance_url = env!("INSTANCE_URL"); let mut headers = HashMap::new(); - headers.insert("x-geoconnex-runner".to_string(), nmwdc_token); + headers.insert("x-geoconnex-runner".to_string(), token.to_string()); let ckan = ckanaction::CKAN::builder() - .url("https://catalog.newmexicowaterdata.org") + .url(instance_url) .headers(headers) .build(); @@ -68,6 +67,8 @@ async fn main() -> Result<()> { // 2. Construct JSON-LD based on the data from /package_show let jsonld = match construct_dataset_jsonld_from_metadata( dataset_metadata.to_owned(), + instance_url.to_string(), + namespace.to_string(), ) { Ok(j) => j, Err(e) => { diff --git a/geoconnex_utils/src/jsonld.rs b/geoconnex_utils/src/jsonld.rs index 5b459e8..f28429b 100644 --- a/geoconnex_utils/src/jsonld.rs +++ b/geoconnex_utils/src/jsonld.rs @@ -3,6 +3,8 @@ use serde_json::json; pub fn construct_dataset_jsonld_from_metadata( dataset_metadata: serde_json::Value, + instance_url: String, + namespace: String, ) -> Result { let dataset_id = dataset_metadata.get("id").unwrap().as_str().unwrap(); eprintln!("Attempting to construct JSON-LD for dataset {dataset_id}"); @@ -60,14 +62,14 @@ pub fn construct_dataset_jsonld_from_metadata( }, "@type": "Dataset", // TODO: Customize namespace based on CKAN instance being used - "@id": format!("https://geoconnex.us/ckan/nmwdh/{dataset_id}"), + "@id": format!("https://geoconnex.us/ckan/{namespace}/{dataset_id}"), "name": dataset_title, "provider": { "@type": "Organization", "name": organization_name }, // TODO: Customize CKAN instance URL based on CKAN instance being used - "url": format!("https://catalog.newmexicowaterdata.org/dataset/{dataset_id}") + "url": format!("{instance_url}/dataset/{dataset_id}") }); let jsonld_map = jsonld.as_object_mut().unwrap(); if about.len() > 0 { From 0c4d9488f3c8064a67ed05d5f75ded2860bd8058 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:44:19 -0400 Subject: [PATCH 08/15] ci: fix syntax --- .github/workflows/release.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5124011..16bf0aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,13 +10,7 @@ jobs: publish: strategy: matrix: - ckan_instance: [ - { - name: New_Mexico_Water_Data_Catalog, - url: https://catalog.newmexicowaterdata.org, - token: ${{ secrets.NMWDC_API_BULK_LOADER_TOKEN }} - } - ] + ckan_instance: [{ name: New_Mexico_Water_Data_Catalog, url: https://catalog.newmexicowaterdata.org, token: ${{ secrets.NMWDC_API_BULK_LOADER_TOKEN }}} ] name: Publish JSONL file runs-on: ubuntu-latest steps: From c6de5d6690044effe90f3d4e2387e970b275d491 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:01:31 -0400 Subject: [PATCH 09/15] ci: use secret outside of matrix --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 16bf0aa..e732653 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: publish: strategy: matrix: - ckan_instance: [{ name: New_Mexico_Water_Data_Catalog, url: https://catalog.newmexicowaterdata.org, token: ${{ secrets.NMWDC_API_BULK_LOADER_TOKEN }}} ] + ckan_instance: [{ name: New_Mexico_Water_Data_Catalog, url: https://catalog.newmexicowaterdata.org, token: NMWDC_API_BULK_LOADER_TOKEN }] name: Publish JSONL file runs-on: ubuntu-latest steps: @@ -30,4 +30,4 @@ jobs: GITHUB_TOKEN: ${{ github.TOKEN }} NAMESPACE: ${{ matrix.namespace }} INSTANCE_URL: ${{ matrix.ckan_instance.url }} - API_TOKEN: ${{ matrix.ckan_instance.token }} + API_TOKEN: ${{ secrets[matrix.ckan_instance.token] }} From eb714aae813d05d896e70791712e016216988a11 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:13:44 -0400 Subject: [PATCH 10/15] fix: JSONL names --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e732653..60e8ae4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,8 +24,8 @@ jobs: - name: Run generate_release crate and upload JSONL file run: | cd ${{github.workspace}} - cargo run -p generate_release --release --verbose > ckan-geoconnex-web-resources-${{ matrix.namespace }}.jsonl - gh release upload ${{github.event.release.tag_name}} ckan-geoconnex-web-resources-${{ matrix.namespace }}.jsonl + cargo run -p generate_release --release --verbose > ${{ matrix.ckan_instance.name }}.jsonl + gh release upload ${{github.event.release.tag_name}} ${{ matrix.ckan_instance.name }}.jsonl env: GITHUB_TOKEN: ${{ github.TOKEN }} NAMESPACE: ${{ matrix.namespace }} From 4f4c576d978750cc27b1fe0187c8a5f9dc226a88 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:16:04 -0400 Subject: [PATCH 11/15] ci: set tag to namespace --- .github/workflows/container.yml | 2 +- bulk_loader/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 8401d2a..950f3bf 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -25,7 +25,7 @@ jobs: with: file: ./bulk_loader/Dockerfile push: true - tags: ghcr.io/dathere/ckan_geoconnex_bulk_runner:latest + tags: ghcr.io/dathere/ckan_geoconnex_bulk_runner:${{ matrix.namespace }} cache-from: type=gha,scope=ckan_geoconnex_bulk_runner platforms: linux/amd64 cache-to: type=gha,mode=max,scope=ckan_geoconnex_bulk_runner diff --git a/bulk_loader/src/main.rs b/bulk_loader/src/main.rs index 2073401..d36133f 100644 --- a/bulk_loader/src/main.rs +++ b/bulk_loader/src/main.rs @@ -6,7 +6,7 @@ async fn main() -> Result<()> { let namespace = std::env!("NAMESPACE"); // Get latest release data which is organized as a single JSONL file // at https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest - let body = reqwest::get(format!("https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest/download/ckan-geoconnex-web-resources-{namespace}.jsonl")) + let body = reqwest::get(format!("https://github.com/dathere/ckan_geoconnex_bulk_runner/releases/latest/download/{namespace}.jsonl")) .await? .text() .await?; From 1a8262042002257c7e13ac20ed56cb5526056bfb Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:20:23 -0400 Subject: [PATCH 12/15] ci: add build-args --- .github/workflows/container.yml | 4 ++-- bulk_loader/Dockerfile | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 950f3bf..b6cec52 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -29,5 +29,5 @@ jobs: cache-from: type=gha,scope=ckan_geoconnex_bulk_runner platforms: linux/amd64 cache-to: type=gha,mode=max,scope=ckan_geoconnex_bulk_runner - env: - NAMESPACE: ${{ matrix.namespace }} + build-args: + - NAMESPACE=${{ matrix.namespace }} diff --git a/bulk_loader/Dockerfile b/bulk_loader/Dockerfile index 87aa04f..4a3521a 100644 --- a/bulk_loader/Dockerfile +++ b/bulk_loader/Dockerfile @@ -2,6 +2,7 @@ FROM rust:1.96 AS builder WORKDIR /app RUN rustup set profile minimal COPY . . +ARG NAMESPACE RUN cargo build -p bulk_loader --release FROM ubuntu:latest From 566ea8cbc95dac03e47c2b1e7b770606613c1949 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:21:24 -0400 Subject: [PATCH 13/15] ci: fix build-args syntax --- .github/workflows/container.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index b6cec52..459686d 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -29,5 +29,5 @@ jobs: cache-from: type=gha,scope=ckan_geoconnex_bulk_runner platforms: linux/amd64 cache-to: type=gha,mode=max,scope=ckan_geoconnex_bulk_runner - build-args: - - NAMESPACE=${{ matrix.namespace }} + build-args: | + NAMESPACE=${{ matrix.namespace }} From 4067cdf382ab39ad30e17b9c8e934f0309bee7b7 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:24:32 -0400 Subject: [PATCH 14/15] build: include ENV from ARG --- bulk_loader/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/bulk_loader/Dockerfile b/bulk_loader/Dockerfile index 4a3521a..ebe410d 100644 --- a/bulk_loader/Dockerfile +++ b/bulk_loader/Dockerfile @@ -3,6 +3,7 @@ WORKDIR /app RUN rustup set profile minimal COPY . . ARG NAMESPACE +ENV NAMESPACE=$NAMESPACE RUN cargo build -p bulk_loader --release FROM ubuntu:latest From e009754ba71b64e364576794afd873d658801861 Mon Sep 17 00:00:00 2001 From: rzmk <30333942+rzmk@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:29:33 -0400 Subject: [PATCH 15/15] ci: fix namespace matrix value --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60e8ae4..39b972d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,6 @@ jobs: gh release upload ${{github.event.release.tag_name}} ${{ matrix.ckan_instance.name }}.jsonl env: GITHUB_TOKEN: ${{ github.TOKEN }} - NAMESPACE: ${{ matrix.namespace }} + NAMESPACE: ${{ matrix.ckan_instance.name }} INSTANCE_URL: ${{ matrix.ckan_instance.url }} API_TOKEN: ${{ secrets[matrix.ckan_instance.token] }}