diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..c6e60b1bf --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,60 @@ +name: Create a release + +on: + release: + types: [released] + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Get package version + uses: tyankatsu0105/read-package-version-actions@v1 + with: + path: "./" + id: package-version + + - name: Create image tag from package version + id: get-image-tag + run: + echo "image_tag=${{ steps.package-version.outputs.version }}" >> + $GITHUB_OUTPUT + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v3 + 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: ExplorerImageUpdate + + - name: Login to Amazon ECR + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v1 + with: + registry-type: public + + - name: Build, tag, and push Docker image + env: + REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} + REGISTRY_ALIAS: neptune + REPOSITORY: graph-explorer + IMAGE_TAG: ${{ steps.get-image-tag.outputs.image_tag }} + run: | + docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG . + docker build --build-arg NEPTUNE_NOTEBOOK=true -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:sagemaker-$IMAGE_TAG . + docker tag $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:latest + docker tag $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:sagemaker-$IMAGE_TAG $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:sagemaker-latest + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$IMAGE_TAG + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:latest + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:sagemaker-$IMAGE_TAG + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:sagemaker-latest