From a4f400bc042f237c1839dc344bb2117567084b70 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Thu, 31 Jul 2025 10:31:37 -0700 Subject: [PATCH 1/5] reuse MPL script --- .github/workflows/go-release.yml | 8 +-- scripts/go-release-automation.sh | 107 ------------------------------- submodules/MaterialProviders | 2 +- 3 files changed, 5 insertions(+), 112 deletions(-) delete mode 100644 scripts/go-release-automation.sh diff --git a/.github/workflows/go-release.yml b/.github/workflows/go-release.yml index b563a7f89..175f1e9b6 100644 --- a/.github/workflows/go-release.yml +++ b/.github/workflows/go-release.yml @@ -72,8 +72,8 @@ jobs: - name: Get release directory name id: release-dir run: | - chmod +x ./scripts/go-release-automation.sh - RELEASE_DIR_NAME=$(./scripts/go-release-automation.sh get_release_dir_name "${{ github.event.inputs.project-name }}" "${{ github.event.inputs.version }}") + chmod +x ./submodules/MaterialProviders/scripts/go-release-automation.sh + RELEASE_DIR_NAME=$(./submodules/MaterialProviders/scripts/go-release-automation.sh get_release_dir_name "${{ github.event.inputs.project-name }}" "${{ github.event.inputs.version }}") echo "releaseDirName=$RELEASE_DIR_NAME" >> $GITHUB_OUTPUT - name: Generate a changelog @@ -84,8 +84,8 @@ jobs: - name: Run Go release automation script run: | - chmod +x ./scripts/go-release-automation.sh - ./scripts/go-release-automation.sh run_release_script ${{ github.event.inputs.project-name }} ${{ github.event.inputs.version }} + chmod +x ./submodules/MaterialProviders/scripts/go-release-automation.sh + ./submodules/MaterialProviders/scripts/go-release-automation.sh run_release_script ${{ github.event.inputs.project-name }} ${{ github.event.inputs.version }} - name: Create Pull Request env: diff --git a/scripts/go-release-automation.sh b/scripts/go-release-automation.sh deleted file mode 100644 index 4e105550f..000000000 --- a/scripts/go-release-automation.sh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/bash - -# Go Release Process Script -# Used for copying go files to release directory and make a commit - -set -e # Exit on error - -# Check if project name and version is provided -if [ $# -ne 3 ]; then - echo "Usage: $0 [version]" - echo "Example: $0 get_release_dir_name DynamoDbEncryption v0.1.0" - echo "Example: $0 run_release_script DynamoDbEncryption v0.1.0" - exit 1 -fi - -# Function to map project name to release directory name -get_release_dir_name() { - local project=$1 - case "$project" in - "DynamoDbEncryption") echo "dynamodb-esdk" ;; - *) echo "Error: Unknown project name: $project" >&2; return 1 ;; - esac -} - -run_release_script() { - PROJECT_NAME=$1 - VERSION=$2 - - echo "Starting Go release script for $PROJECT_NAME $VERSION" - - # Pull the latest smithy-dafny and libraries git submodules - echo " Pulling latest git submodules..." - git submodule update --init --recursive - - # Go to the project directory - echo " Navigating to $PROJECT_NAME..." - cd "$PROJECT_NAME" || { echo "Error: Project directory $PROJECT_NAME not found"; exit 1; } - - # Build using make commands - echo " Building project..." - make polymorph_dafny - make polymorph_go - make transpile_go - make test_go - - # Run Go tools in ImplementationFromDafny-go - echo " Running Go tools in ImplementationFromDafny-go..." - cd runtimes/go/ImplementationFromDafny-go || { echo "Error: ImplementationFromDafny-go directory not found"; exit 1; } - - find . -name "*shim.go" -type f -delete - echo "Removed all shim.go files" - - echo "Running goimports..." - goimports -w . - - echo "Running go get -u..." - go get -u - - echo "Running go mod tidy..." - go mod tidy - - echo "Running go build to check for errors..." - go build --gcflags="-e" ./... - - # Replacement directives are removed to get package from go pkg instead of local copy - echo "Removing all replace directives from go.mod..." - go mod edit -json | jq -r '.Replace[].Old.Path' | xargs -n1 go mod edit -dropreplace - - # Get the mapped release directory name - RELEASE_DIR_NAME=$(get_release_dir_name "$PROJECT_NAME") - - # Copy files to releases directory - echo " Copying files to releases/go/$RELEASE_DIR_NAME..." - - # Use rsync to copy files while excluding following ones: - # ImplementationFromDafny.go: This file is for devlopment. Users is expected use API(s) from `*/api_client.go` - # ImplementationFromDafny-go.dtr: This is the dafny translation record only needed for code generation - # go.sum: This files will be updated by go mod tidy - rsync -av --exclude="ImplementationFromDafny.go" --exclude="ImplementationFromDafny-go.dtr" --exclude="go.sum" ./ "$(git rev-parse --show-toplevel)/releases/go/$RELEASE_DIR_NAME/" - - # Run Go tools in releases directory - echo "Running Go tools in releases/go/$RELEASE_DIR_NAME..." - - cd "$(git rev-parse --show-toplevel)/releases/go/$RELEASE_DIR_NAME/" || { echo "Error: releases directory not found"; exit 1; } - - echo "Running goimports..." - goimports -w . - echo "Running go get -u..." - go get -u ./... - - echo "Running go mod tidy..." - go mod tidy - - echo "Running go build to check for errors..." - go build --gcflags="-e" ./... - - # Prepare for commit - echo "creating a branch..." - - git checkout -b "golang-release-staging-branch/$RELEASE_DIR_NAME/${VERSION}" - git add * - - git commit -m "Release $RELEASE_DIR_NAME Go module ${VERSION}" - git push origin "golang-release-staging-branch/$RELEASE_DIR_NAME/${VERSION}" -} - -"$@" \ No newline at end of file diff --git a/submodules/MaterialProviders b/submodules/MaterialProviders index ec013f6ba..ea64f204d 160000 --- a/submodules/MaterialProviders +++ b/submodules/MaterialProviders @@ -1 +1 @@ -Subproject commit ec013f6ba85d62ab41db48fec92baca85625e4b9 +Subproject commit ea64f204d18280ff7b30dfb17f5375e40bf0ff45 From 6cdd9a296cfc9b1890297713c886b05c8a0e407e Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Mon, 4 Aug 2025 16:04:30 -0700 Subject: [PATCH 2/5] auto commit --- submodules/MaterialProviders | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/MaterialProviders b/submodules/MaterialProviders index ea64f204d..c6e2c203e 160000 --- a/submodules/MaterialProviders +++ b/submodules/MaterialProviders @@ -1 +1 @@ -Subproject commit ea64f204d18280ff7b30dfb17f5375e40bf0ff45 +Subproject commit c6e2c203ec976c5488e08c79e378bc4b34da4b4e From 7d136fc94406042f97f9ce519746f44978e6805b Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Thu, 7 Aug 2025 12:26:46 -0700 Subject: [PATCH 3/5] Material Provider bump --- submodules/MaterialProviders | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/MaterialProviders b/submodules/MaterialProviders index c6e2c203e..9bc43c059 160000 --- a/submodules/MaterialProviders +++ b/submodules/MaterialProviders @@ -1 +1 @@ -Subproject commit c6e2c203ec976c5488e08c79e378bc4b34da4b4e +Subproject commit 9bc43c059fa820c298d8269b8fa316704c39703e From e22577d81a115db3c3f4015a6870d64a262124a8 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Thu, 7 Aug 2025 23:29:53 -0700 Subject: [PATCH 4/5] Material Provider bump --- submodules/MaterialProviders | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/MaterialProviders b/submodules/MaterialProviders index 9bc43c059..7af76a25b 160000 --- a/submodules/MaterialProviders +++ b/submodules/MaterialProviders @@ -1 +1 @@ -Subproject commit 9bc43c059fa820c298d8269b8fa316704c39703e +Subproject commit 7af76a25b5a30cab163379bc54a646f05219a872 From ca3f78d4d921008784219ad2183400031f043088 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Mon, 11 Aug 2025 10:29:10 -0700 Subject: [PATCH 5/5] revert bump --- submodules/MaterialProviders | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/MaterialProviders b/submodules/MaterialProviders index 7af76a25b..ec013f6ba 160000 --- a/submodules/MaterialProviders +++ b/submodules/MaterialProviders @@ -1 +1 @@ -Subproject commit 7af76a25b5a30cab163379bc54a646f05219a872 +Subproject commit ec013f6ba85d62ab41db48fec92baca85625e4b9