UNPKG

klip-sdk

Version:

JavaScript SDK to interact with klip App2App requests

77 lines (73 loc) 2.77 kB
name: Build and push docker image author: Jeff Kim & Bolt lee description: 'Build and push docker image' inputs: repository: description: '' # Filled out description. required: true default: 'sample-repository' registry: description: '' # Filled out description. required: true default: 'sample-registry' dockerfile: description: '' # Filled out description. required: true default: Dockerfile file-changes: description: 'file pattern list for checking rebuilding image or not' required: false default: '' file-ignore-changes: description: 'file pattern list for checking rebuilding image or not' required: false default: '' extra-build-args: description: '' required: false default: '' base_sha: description: '' required: false default: '' sha: description: '' required: false default: '' runs: using: "composite" steps: - name: Get specific changed files id: changed-files uses: tj-actions/changed-files@v31 with: sha: ${{ inputs.sha }} base_sha: ${{ inputs.base_sha }} files: | ${{ inputs.file-ignore-changes }} - name: Login to Amazon ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v2 - name: no source files changes - add current tag to latest image if: ( steps.changed-files.outputs.any_changed == 'false' ) || ( github.ref_type == 'tag' ) shell: bash run: | echo "REF TYPE:${{ github.ref_type }}" echo "Result: pull & push" echo "any_changed:${{ steps.changed-files.outputs.any_changed }}" echo "all_changed_and_modified_files:${{ steps.changed-files.outputs.all_changed_and_modified_files }}" docker pull ${{ inputs.registry }}/${{ inputs.repository }}:latest docker tag ${{ inputs.registry }}/${{ inputs.repository }}:latest ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }} docker push ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }} - name: source files changes - build new image if: ${{ steps.changed-files.outputs.any_changed == 'true' }} shell: bash run: | echo "Result: build & push" echo "any_changed:${{ steps.changed-files.outputs.any_changed }}" echo "all_changed_and_modified_files:${{ steps.changed-files.outputs.all_changed_and_modified_files }}" docker build -f ${GITHUB_WORKSPACE}/${{ inputs.dockerfile }} . \ --tag ${{ inputs.registry }}/${{ inputs.repository }}:latest \ --tag ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }} docker push ${{ inputs.registry }}/${{ inputs.repository }}:latest docker push ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }}