Skip to content

Commit 7b21427

Browse files
committed
Update connector-metadata for v2 spec
1 parent 118a8a6 commit 7b21427

3 files changed

Lines changed: 43 additions & 32 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,6 @@ jobs:
3636
- name: Deploy 🚀
3737
run: nix run .#publish-docker-image ${{ github.ref }}
3838

39-
connector-definition:
40-
# For now, only run on tagged releases because main builds generate a Docker image tag name that
41-
# is not easily accessible here
42-
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
43-
runs-on: ubuntu-24.04
44-
steps:
45-
- uses: actions/checkout@v4
46-
47-
- name: Build connector definition
48-
run: |
49-
set -e pipefail
50-
export DOCKER_IMAGE="ghcr.io/hasura/ndc-mongodb:$GITHUB_REF_NAME"
51-
export CLI_VERSION=$GITHUB_REF_NAME
52-
make build
53-
working-directory: ./connector-definition
54-
55-
- uses: actions/upload-artifact@v4
56-
with:
57-
name: connector-definition.tgz
58-
path: ./connector-definition/dist/connector-definition.tgz
59-
compression-level: 0 # Already compressed
60-
6139
# Builds with nix for simplicity
6240
build-connector-binaries:
6341
name: build the connector binaries
@@ -196,7 +174,6 @@ jobs:
196174
name: release to GitHub
197175
needs:
198176
- docker
199-
- connector-definition
200177
- build-connector-binaries
201178
- build-cli-binaries
202179
runs-on: ubuntu-24.04
@@ -215,6 +192,18 @@ jobs:
215192
sha256sum * > ./sha256sum
216193
cat ./sha256sum
217194
195+
- name: Build connector definition
196+
run: |
197+
set -eo pipefail
198+
export RELEASE_VERSION="$GITHUB_REF_NAME"
199+
export LINUX_AMD64_SHA256=$(cat release/artifacts/sha256sum | grep mongodb-cli-plugin-x86_64-unknown-linux-musl | cut -f1 -d' ')
200+
export MACOS_AMD64_SHA256=$(cat release/artifacts/sha256sum | grep mongodb-cli-plugin-x86_64-apple-darwin | cut -f1 -d' ')
201+
export WINDOWS_AMD64_SHA256=$(cat release/artifacts/sha256sum | grep mongodb-cli-plugin-x86_64-pc-windows-msvc.exe | cut -f1 -d' ')
202+
export LINUX_ARM64_SHA256=$(cat release/artifacts/sha256sum | grep mongodb-cli-plugin-aarch64-unknown-linux-musl | cut -f1 -d' ')
203+
export MACOS_ARM64_SHA256=$(cat release/artifacts/sha256sum | grep mongodb-cli-plugin-aarch64-apple-darwin | cut -f1 -d' ')
204+
make -C connector-definition build
205+
cp connector-definition/dist/connector-definition.tgz release/artifacts/
206+
218207
- name: generate CLI manifest
219208
run: |
220209
export VERSION="$GITHUB_REF_NAME"

connector-definition/Makefile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ dist dist/.hasura-connector:
1212
mkdir dist
1313
mkdir dist/.hasura-connector
1414

15-
dist/.hasura-connector/connector-metadata.yaml: DOCKER_IMAGE ?= $(error The DOCKER_IMAGE variable must be defined)
16-
dist/.hasura-connector/connector-metadata.yaml: CLI_VERSION ?= $(error The CLI_VERSION variable must be defined)
15+
dist/.hasura-connector/connector-metadata.yaml: RELEASE_VERSION ?= $(error The RELEASE_VERSION variable must be defined)
16+
dist/.hasura-connector/connector-metadata.yaml: LINUX_AMD64_SHA256 ?= $(error The LINUX_AMD64_SHA256 variable must be defined)
17+
dist/.hasura-connector/connector-metadata.yaml: LINUX_ARM64_SHA256 ?= $(error The LINUX_ARM64_SHA256 variable must be defined)
18+
dist/.hasura-connector/connector-metadata.yaml: MACOS_AMD64_SHA256 ?= $(error The MACOS_AMD64_SHA256 variable must be defined)
19+
dist/.hasura-connector/connector-metadata.yaml: MACOS_ARM64_SHA256 ?= $(error The MACOS_ARM64_SHA256 variable must be defined)
20+
dist/.hasura-connector/connector-metadata.yaml: WINDOWS_AMD64_SHA256 ?= $(error The WINDOWS_AMD64_SHA256 variable must be defined)
1721
dist/.hasura-connector/connector-metadata.yaml: connector-metadata.yaml dist/.hasura-connector
18-
cp -f connector-metadata.yaml dist/.hasura-connector/
19-
yq -i '.packagingDefinition.dockerImage = "$(DOCKER_IMAGE)"' dist/.hasura-connector/connector-metadata.yaml
20-
yq -i '.cliPlugin.version = "$(CLI_VERSION)"' dist/.hasura-connector/connector-metadata.yaml
22+
envsubst '${RELEASE_VERSION}${LINUX_AMD64_SHA256}${MACOS_AMD64_SHA256}${WINDOWS_AMD64_SHA256}${LINUX_ARM64_SHA256}${MACOS_ARM64_SHA256}' < connector-metadata.yaml > dist/.hasura-connector/connector-metadata.yaml
2123

2224
dist/connector-definition.tgz: dist/.hasura-connector/connector-metadata.yaml
23-
shopt -s dotglob && cd dist && tar -czvf connector-definition.tgz *
25+
shopt -s dotglob && cd dist && tar -czvf connector-definition.tgz *

connector-definition/connector-metadata.yaml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: v2
22
ndcSpecGeneration: v0.2
33
packagingDefinition:
44
type: PrebuiltDockerImage
5-
dockerImage:
5+
dockerImage: ghcr.io/hasura/ndc-mongodb:${RELEASE_VERSION}
66
supportedEnvironmentVariables:
77
- name: MONGODB_DATABASE_URI
88
description: The URI for the MongoDB database
@@ -38,8 +38,28 @@ nativeToolchainDefinition:
3838
commands:
3939
update: hasura-ndc-mongodb update
4040
cliPlugin:
41-
name: ndc-mongodb
42-
version:
41+
type: BinaryInline
42+
platforms:
43+
- selector: darwin-arm64
44+
uri: "https://github.com/hasura/ndc-mongodb/releases/download/${RELEASE_VERSION}/mongodb-cli-plugin-aarch64-apple-darwin"
45+
sha256: "${MACOS_ARM64_SHA256}"
46+
bin: "hasura-ndc-mongodb"
47+
- selector: linux-arm64
48+
uri: "https://github.com/hasura/ndc-mongodb/releases/download/${RELEASE_VERSION}/mongodb-cli-plugin-aarch64-unknown-linux-musl"
49+
sha256: "${LINUX_ARM64_SHA256}"
50+
bin: "hasura-ndc-mongodb"
51+
- selector: darwin-amd64
52+
uri: "https://github.com/hasura/ndc-mongodb/releases/download/${RELEASE_VERSION}/mongodb-cli-plugin-x86_64-apple-darwin"
53+
sha256: "${MACOS_AMD64_SHA256}"
54+
bin: "hasura-ndc-mongodb"
55+
- selector: windows-amd64
56+
uri: "https://github.com/hasura/ndc-mongodb/releases/download/${RELEASE_VERSION}/mongodb-cli-plugin-x86_64-pc-windows-msvc.exe"
57+
sha256: "${WINDOWS_AMD64_SHA256}"
58+
bin: "hasura-ndc-mongodb.exe"
59+
- selector: linux-amd64
60+
uri: "https://github.com/hasura/ndc-mongodb/releases/download/${RELEASE_VERSION}/mongodb-cli-plugin-x86_64-unknown-linux-musl"
61+
sha256: "${LINUX_AMD64_SHA256}"
62+
bin: "hasura-ndc-mongodb"
4363
dockerComposeWatch:
4464
- path: ./
4565
target: /etc/connector

0 commit comments

Comments
 (0)