From f617f87bac6c94e16833d744b8f43ba6cfca294e Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Wed, 17 Sep 2025 14:57:54 -0700 Subject: [PATCH 1/9] Create upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/upload-build-to-s3.yml diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml new file mode 100644 index 0000000..d1badcb --- /dev/null +++ b/.github/workflows/upload-build-to-s3.yml @@ -0,0 +1,63 @@ +name: Upload Build to S3 + +on: + push: + branches: [ "main"] + +env: + BUCKET_NAME : "${{ secrets.S3_BUCKET_NAME }}" + AWS_REGION : "us-west-2" + +# permission can be added at job level or workflow level +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout + +jobs: + on-success: + runs-on: ubuntu-latest + steps: + - name: Git clone the repository + uses: actions/checkout@v5 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: "${{ secrets.ACTIONS_SYNC_ROLE_NAME }}" + role-session-name: samplerolesession + aws-region: ${{ env.AWS_REGION }} + - name: get-npm-version + id: package-version + uses: martinbeentjes/npm-get-version-action@v1.3.1 + with: + path: packages/lambda-durable-functions-sdk-js + # need this while workflow_run isn't working as expected + - run: npm run install-all + - run: npm run build + ##### + - name: Navigate to package and pack + working-directory: packages/lambda-durable-functions-sdk-js + run: npm pack + # Upload a file to AWS s3 + - name: Copy tgz build file to s3 + run: | + aws s3 cp ./packages/lambda-durable-functions-sdk-js/amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz \ + s3://${{ env.BUCKET_NAME }}/ + - name: commit to Gitfarm + run: | + aws lambda invoke \ + --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ + --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz"}' \ + --cli-binary-format raw-in-base64-out \ + output.txt + - name: Check for specific text in a file + id: check_text + run: | + if grep -q "Error" output.txt; then + cat output.txt + exit 1 + fi From 0635327bf3121dd80af0624c816019e662366727 Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:11:04 -0700 Subject: [PATCH 2/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 91 +++++++++++++----------- 1 file changed, 49 insertions(+), 42 deletions(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index d1badcb..72632d6 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -2,8 +2,7 @@ name: Upload Build to S3 on: push: - branches: [ "main"] - + branches: [ "main", "github-sync"] env: BUCKET_NAME : "${{ secrets.S3_BUCKET_NAME }}" AWS_REGION : "us-west-2" @@ -16,47 +15,55 @@ permissions: jobs: on-success: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.11", "3.13"] + steps: - - name: Git clone the repository - uses: actions/checkout@v5 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - name: configure aws credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: "${{ secrets.ACTIONS_SYNC_ROLE_NAME }}" - role-session-name: samplerolesession - aws-region: ${{ env.AWS_REGION }} - - name: get-npm-version - id: package-version - uses: martinbeentjes/npm-get-version-action@v1.3.1 - with: - path: packages/lambda-durable-functions-sdk-js - # need this while workflow_run isn't working as expected - - run: npm run install-all - - run: npm run build - ##### - - name: Navigate to package and pack - working-directory: packages/lambda-durable-functions-sdk-js - run: npm pack - # Upload a file to AWS s3 - - name: Copy tgz build file to s3 - run: | - aws s3 cp ./packages/lambda-durable-functions-sdk-js/amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz \ - s3://${{ env.BUCKET_NAME }}/ - - name: commit to Gitfarm - run: | - aws lambda invoke \ - --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ - --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"amzn-durable-executions-language-sdk-${{ steps.package-version.outputs.current-version }}.tgz"}' \ - --cli-binary-format raw-in-base64-out \ - output.txt - - name: Check for specific text in a file - id: check_text - run: | + - uses: actions/checkout@v5 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install Hatch + run: | + python -m pip install --upgrade hatch + - name: Build distribution + run: hatch build + # Upload a file to AWS s3 + - name: Copy tar gz build file to s3 + run: | + aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1.tar.gz \ + s3://${{ env.BUCKET_NAME }}/ + - name: commit tar gz to Gitfarm + run: | + aws lambda invoke \ + --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ + --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"aws_durable_execution_sdk_python-0.0.1.tar.gz","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"aws_durable_execution_sdk_python-0.0.1.tar.gz"}' \ + --cli-binary-format raw-in-base64-out \ + output.txt + - name: Check for error in lambda invoke + id: check_text_tar_gz + run: | + if grep -q "Error" output.txt; then + cat output.txt + exit 1 + fi + - name: Copy whl build file to s3 + run: | + aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh \ + s3://${{ env.BUCKET_NAME }}/ + - name: commit whl to Gitfarm + run: | + aws lambda invoke \ + --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ + --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh"}' \ + --cli-binary-format raw-in-base64-out \ + output.txt + - name: Check for error in lambda invoke + id: check_text_whl + run: | if grep -q "Error" output.txt; then cat output.txt exit 1 From eefc488b648fd62b3abc556efbefebe862ccc57d Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:13:03 -0700 Subject: [PATCH 3/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index 72632d6..b2d582f 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -31,7 +31,12 @@ jobs: python -m pip install --upgrade hatch - name: Build distribution run: hatch build - # Upload a file to AWS s3 + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: "${{ secrets.ACTIONS_SYNC_ROLE_NAME }}" + role-session-name: gh-python + aws-region: ${{ env.AWS_REGION }} - name: Copy tar gz build file to s3 run: | aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1.tar.gz \ From 0edd30ce6dfe3ba5309536898ea5c855e649265e Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 07:53:12 -0700 Subject: [PATCH 4/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index b2d582f..ace856a 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.11", "3.13"] + python-version: ["3.13"] steps: - uses: actions/checkout@v5 From 5159ac52349366e9f775895193518c65a9f6bfa2 Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 08:00:21 -0700 Subject: [PATCH 5/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index ace856a..ed63362 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -57,7 +57,7 @@ jobs: fi - name: Copy whl build file to s3 run: | - aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh \ + aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl \ s3://${{ env.BUCKET_NAME }}/ - name: commit whl to Gitfarm run: | From 2e3ecf77126fa1ec069a5319e4a48ed699e5687b Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 08:14:28 -0700 Subject: [PATCH 6/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index ed63362..e52a6d5 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -63,7 +63,7 @@ jobs: run: | aws lambda invoke \ --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ - --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.wh"}' \ + --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl"}' \ --cli-binary-format raw-in-base64-out \ output.txt - name: Check for error in lambda invoke From 340eeeca361238a9572b89f24b0431dc09ea0a61 Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 09:33:29 -0700 Subject: [PATCH 7/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index e52a6d5..5532628 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -55,21 +55,3 @@ jobs: cat output.txt exit 1 fi - - name: Copy whl build file to s3 - run: | - aws s3 cp ./dist/aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl \ - s3://${{ env.BUCKET_NAME }}/ - - name: commit whl to Gitfarm - run: | - aws lambda invoke \ - --function-name ${{ secrets.SYNC_LAMBDA_ARN }} \ - --payload '{"gitFarmRepo":"${{ secrets.GITFARM_LAN_SDK_REPO }}","gitFarmBranch":"${{ secrets.GITFARM_LAN_SDK_BRANCH }}","gitFarmFilepath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl","s3Bucket":"${{ secrets.S3_BUCKET_NAME }}","s3FilePath":"aws_durable_execution_sdk_python-0.0.1-py3-none-any.whl"}' \ - --cli-binary-format raw-in-base64-out \ - output.txt - - name: Check for error in lambda invoke - id: check_text_whl - run: | - if grep -q "Error" output.txt; then - cat output.txt - exit 1 - fi From 5cd2ef276e824770d6b816a6a2e8cf47cdba05ab Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:01:28 -0700 Subject: [PATCH 8/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index 5532628..c96084b 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -2,7 +2,7 @@ name: Upload Build to S3 on: push: - branches: [ "main", "github-sync"] + branches: [ "main"] env: BUCKET_NAME : "${{ secrets.S3_BUCKET_NAME }}" AWS_REGION : "us-west-2" From c10b499b983dbc51e0e4f8373499348278cc4260 Mon Sep 17 00:00:00 2001 From: Silan He <16982279+SilanHe@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:03:19 -0700 Subject: [PATCH 9/9] Update upload-build-to-s3.yml --- .github/workflows/upload-build-to-s3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upload-build-to-s3.yml b/.github/workflows/upload-build-to-s3.yml index c96084b..2efba27 100644 --- a/.github/workflows/upload-build-to-s3.yml +++ b/.github/workflows/upload-build-to-s3.yml @@ -2,7 +2,7 @@ name: Upload Build to S3 on: push: - branches: [ "main"] + branches: [ "main" ] env: BUCKET_NAME : "${{ secrets.S3_BUCKET_NAME }}" AWS_REGION : "us-west-2"