diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 8401d2a..459686d 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -25,9 +25,9 @@ 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 - env: - NAMESPACE: ${{ matrix.namespace }} + build-args: | + NAMESPACE=${{ matrix.namespace }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e732653..39b972d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,10 +24,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-${{ 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 }} + NAMESPACE: ${{ matrix.ckan_instance.name }} INSTANCE_URL: ${{ matrix.ckan_instance.url }} API_TOKEN: ${{ secrets[matrix.ckan_instance.token] }} diff --git a/bulk_loader/Dockerfile b/bulk_loader/Dockerfile index 87aa04f..ebe410d 100644 --- a/bulk_loader/Dockerfile +++ b/bulk_loader/Dockerfile @@ -2,6 +2,8 @@ FROM rust:1.96 AS builder WORKDIR /app RUN rustup set profile minimal COPY . . +ARG NAMESPACE +ENV NAMESPACE=$NAMESPACE RUN cargo build -p bulk_loader --release FROM ubuntu:latest 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?;