From 3d9f3d020fdb1d98458a18031a68c18b3e197991 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Mon, 21 Nov 2022 17:32:21 -0800 Subject: [PATCH 1/8] Add ECR publish action --- .github/workflows/docker_publish.yml | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/docker_publish.yml diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml new file mode 100644 index 00000000..cf5d7973 --- /dev/null +++ b/.github/workflows/docker_publish.yml @@ -0,0 +1,53 @@ +name: Build Docker image and publish to ECR + +on: [push] + #push: + # branches: + # - main + +jobs: + get-package-version: + runs-on: ubuntu-latest + outputs: + package-version: ${{ steps.get-package-version.outputs.package-version }} + steps: + - id: set-matrix + run: | + echo "PACKAGE_JSON=$(jq -c . < package.json)" >> $GITHUB_ENV + echo '${{ fromJson(env.PACKAGE_JSON).version }}' + shell: bash + + #JSON='$(cat ./src/graph_notebook/widgets/package.json)' + #echo "::set-output name=matrix::${JSON//'%'/'%25'}" + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_ECR }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_ECR }} + aws-region: us-east-1 + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME_ECR }} + role-duration-seconds: 3600 + role-session-name: NotebookImageUpdate + + - name: Login to Amazon ECR + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v1 + + - name: Build, tag, and push Docker image + env: + REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} + REPOSITORY: ${{ secrets.ECR_REPO_NAME }} + IMAGE_TAG: latest # ${{fromJson(needs.get-package-version.outputs.package-version)}} + run: | + docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . + docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG \ No newline at end of file From 0229e4e44be2e595a0f941ba5377c298c95fc72b Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Mon, 21 Nov 2022 17:33:46 -0800 Subject: [PATCH 2/8] disable version check --- .github/workflows/docker_publish.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index cf5d7973..27952a21 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -6,16 +6,16 @@ on: [push] # - main jobs: - get-package-version: - runs-on: ubuntu-latest - outputs: - package-version: ${{ steps.get-package-version.outputs.package-version }} - steps: - - id: set-matrix - run: | - echo "PACKAGE_JSON=$(jq -c . < package.json)" >> $GITHUB_ENV - echo '${{ fromJson(env.PACKAGE_JSON).version }}' - shell: bash + #get-package-version: + # runs-on: ubuntu-latest + # outputs: + # package-version: ${{ steps.get-package-version.outputs.package-version }} + # steps: + # - id: set-matrix + # run: | + # echo "PACKAGE_JSON=$(jq -c . < package.json)" >> $GITHUB_ENV + # echo '${{ fromJson(env.PACKAGE_JSON).version }}' + # shell: bash #JSON='$(cat ./src/graph_notebook/widgets/package.json)' #echo "::set-output name=matrix::${JSON//'%'/'%25'}" From 2b49e930c48c70213c4d34ebbc23f6ed06c7904f Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Fri, 2 Dec 2022 19:40:02 -0800 Subject: [PATCH 3/8] Use package version as image tag --- .github/workflows/docker_publish.yml | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 27952a21..61d31797 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -6,19 +6,6 @@ on: [push] # - main jobs: - #get-package-version: - # runs-on: ubuntu-latest - # outputs: - # package-version: ${{ steps.get-package-version.outputs.package-version }} - # steps: - # - id: set-matrix - # run: | - # echo "PACKAGE_JSON=$(jq -c . < package.json)" >> $GITHUB_ENV - # echo '${{ fromJson(env.PACKAGE_JSON).version }}' - # shell: bash - - #JSON='$(cat ./src/graph_notebook/widgets/package.json)' - #echo "::set-output name=matrix::${JSON//'%'/'%25'}" build-and-push-image: runs-on: ubuntu-latest permissions: @@ -43,11 +30,17 @@ jobs: id: login-ecr-public uses: aws-actions/amazon-ecr-login@v1 + - name: Get package version + uses: tyankatsu0105/read-package-version-actions@v1 + with: + path: "./src/graph_notebook/widgets" + id: package-version + - name: Build, tag, and push Docker image env: REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} REPOSITORY: ${{ secrets.ECR_REPO_NAME }} - IMAGE_TAG: latest # ${{fromJson(needs.get-package-version.outputs.package-version)}} + IMAGE_TAG: ${{ steps.package-version.outputs.version }} run: | docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG \ No newline at end of file From dce7f399378aecf4e75bb1e9c0aa58846359e2a1 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Fri, 2 Dec 2022 19:50:19 -0800 Subject: [PATCH 4/8] Remove test code --- .github/workflows/docker_publish.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 61d31797..23fa449b 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -1,9 +1,9 @@ name: Build Docker image and publish to ECR -on: [push] - #push: - # branches: - # - main +on: + push: + branches: + - main jobs: build-and-push-image: @@ -43,4 +43,4 @@ jobs: IMAGE_TAG: ${{ steps.package-version.outputs.version }} run: | docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . - docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG \ No newline at end of file + docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG From 1a59669a9d89062b944e788171b1426406f9152d Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Thu, 8 Dec 2022 19:02:06 -0800 Subject: [PATCH 5/8] Fix for ECR public --- .github/workflows/docker_publish.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 23fa449b..73b2d3e4 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -29,6 +29,8 @@ jobs: - name: Login to Amazon ECR id: login-ecr-public uses: aws-actions/amazon-ecr-login@v1 + with: + registry-type: public - name: Get package version uses: tyankatsu0105/read-package-version-actions@v1 @@ -39,8 +41,9 @@ jobs: - name: Build, tag, and push Docker image env: REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} - REPOSITORY: ${{ secrets.ECR_REPO_NAME }} + REGISTRY_ALIAS: amazon-neptune-test + REPOSITORY: graph-notebook IMAGE_TAG: ${{ steps.package-version.outputs.version }} run: | - docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . - docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG + docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG . + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG From 8e204382e8ee8ff12469463d0d96761f2a7bc289 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Tue, 10 Jan 2023 07:46:49 -0800 Subject: [PATCH 6/8] Remove version tagging for pre-release images --- .github/workflows/docker_publish.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 73b2d3e4..48ba8dce 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -32,18 +32,12 @@ jobs: with: registry-type: public - - name: Get package version - uses: tyankatsu0105/read-package-version-actions@v1 - with: - path: "./src/graph_notebook/widgets" - id: package-version - - name: Build, tag, and push Docker image env: REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} REGISTRY_ALIAS: amazon-neptune-test REPOSITORY: graph-notebook - IMAGE_TAG: ${{ steps.package-version.outputs.version }} + IMAGE_TAG: latest run: | docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG . docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG From bbe40ab829b16e1d16a35adae9c80f1bdc71cef7 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Tue, 10 Jan 2023 08:22:13 -0800 Subject: [PATCH 7/8] Use new registry alias --- .github/workflows/docker_publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 48ba8dce..15d0ab06 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -35,7 +35,7 @@ jobs: - name: Build, tag, and push Docker image env: REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} - REGISTRY_ALIAS: amazon-neptune-test + REGISTRY_ALIAS: neptune REPOSITORY: graph-notebook IMAGE_TAG: latest run: | From 9c7186619338c1c9a2b4839d58dd49a29bbeb0b5 Mon Sep 17 00:00:00 2001 From: Michael Chin Date: Tue, 10 Jan 2023 17:25:49 -0800 Subject: [PATCH 8/8] update changelog --- ChangeLog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog.md b/ChangeLog.md index a80ca04c..2c2a37c9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -3,6 +3,7 @@ Starting with v1.31.6, this file will contain a record of major features and updates made in each release of graph-notebook. ## Upcoming +- Added ECR auto-publish workflow ([Link to PR](https://github.com/aws/graph-notebook/pull/405)) ## Release 3.7.0 (December 7, 2022) - Added Neo4J section to `%%graph_notebook_config` ([Link to PR](https://github.com/aws/graph-notebook/pull/331))