Skip to content

Commit

Permalink
add release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
hgiasac committed Apr 15, 2024
1 parent 21ed2dc commit fa845cb
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 1 deletion.
65 changes: 65 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Release container definition
on:
push:
# tags:
# - "*"

env:
DOCKER_REGISTRY: ghcr.io
DOCKER_IMAGE_NAME: hasura/ndc-stripe

jobs:
tests:
uses: ./.github/workflows/test.yaml

release-image:
name: Release ndc-stripe image
runs-on: ubuntu-latest
needs: [tests]
steps:
- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Get version from tag
id: get-version
run: |
echo "tagged_version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
shell: bash

- name: Extract metadata (tags, labels) for Docker
id: docker-metadata
uses: docker/metadata-action@v5
with:
images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}

- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ steps.docker-metadata.outputs.tags }}
labels: ${{ steps.docker-metadata.outputs.labels }}

- name: Build connector definition
run: |
./scripts/build-manifest.sh
env:
VERSION: ${{ steps.get-version.outputs.tagged_version }}

- name: create a draft release
uses: ncipollo/release-action@v1
with:
draft: true
tag: ${{ steps.get-version.outputs.tagged_version }}
artifacts: release/*
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
packagingDefinition:
type: PrebuiltDockerImage
dockerImage: ghcr.io/hasura/ndc-stripe:v0.1.1
dockerImage: ghcr.io/hasura/ndc-stripe:{{VERSION}}
supportedEnvironmentVariables:
- STRIPE_SERVER_URL
- STRIPE_BASIC_AUTH_TOKEN
Expand Down
18 changes: 18 additions & 0 deletions scripts/build-manifest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
set -evo pipefail

REF=$(git rev-parse --short HEAD)
VERSION=${VERSION:-$REF}
BUILD_DIR=/tmp/ndc-stripe
ROOT="$(pwd)"

rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR

cp -r connector-definition $BUILD_DIR
sed -i "s/{{VERSION}}/$VERSION/g" $BUILD_DIR/connector-definition/.hasura-connector/connector-metadata.yaml

mkdir -p "${ROOT}/release"
tar -czvf "${ROOT}/release/connector-definition.tgz" --directory $BUILD_DIR/connector-definition .
echo "checksum of connector-definition.tgz:"
sha256sum "${ROOT}/release/connector-definition.tgz"

0 comments on commit fa845cb

Please sign in to comment.