UNPKG

klip-sdk

Version:

JavaScript SDK to interact with klip App2App requests

120 lines (101 loc) 4.25 kB
name: devops operator author: Bolt description: 'Devops operator' inputs: pat: description: '' required: true default: '' environment: description: 'ex) dev or qa or staging or prod' required: false default: '' dora: description: 'ex) enabled or disabled' required: false default: '' project_name: description: 'ex) go-klip-backend or blossomops' required: false default: '' category: description: 'ex) klip or devops or kas' required: false default: '' type: description: 'ex) ci or cd' required: false default: '' image_tag: description: '' required: false default: '' version: description: '' required: false default: '' runs: using: "composite" steps: - name: gh auth login shell: bash run: | echo ${{ inputs.pat }} | gh auth login --with-token - name: set outputs id: set-outputs shell: bash run: | echo "pat=${{ inputs.pat }}" >> $GITHUB_OUTPUT echo "environment=${{ inputs.environment }}" >> $GITHUB_OUTPUT echo "dora=${{ inputs.dora }}" >> $GITHUB_OUTPUT echo "project_name=${{ inputs.project_name }}" >> $GITHUB_OUTPUT echo "category=${{ inputs.category }}" >> $GITHUB_OUTPUT echo "type=${{ inputs.type }}" >> $GITHUB_OUTPUT - name: dora enabled + type(ci) shell: bash if: steps.set-outputs.outputs.dora == 'enabled' && steps.set-outputs.outputs.type == 'ci' run: | cd ./actions/scripts chmod +x job_detail.sh worklow_id=${{ github.run_id }} echo "workflow_id : $worklow_id" gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs > jobs.json gh api repos/${{ github.repository }}/actions/runs/${{ github.run_id }} > workflow.json cat jobs.json | jq > jobs-jq.json cat workflow.json | jq > workflow-jq.json ./job_detail.sh ${{ github.sha }} ${{ inputs.environment }} ${{ github.repository }} $worklow_id ${{ github.event_name }} ${{ inputs.project_name }} ${{ inputs.category }} - name: dora enabled + type(ci) + environment(staging) shell: bash if: steps.set-outputs.outputs.dora == 'enabled' && steps.set-outputs.outputs.type == 'ci' && ( steps.set-outputs.outputs.environment == 'staging' || steps.set-outputs.outputs.environment == 'devops-sandbox' ) run: | cd ./actions/scripts chmod +x ci_lead_time_for_change.sh project_name=${{ inputs.project_name }} merge_commit=$(gh pr view ${{ github.event.number }} --repo ${{ github.repository }} --json mergeCommit --jq '.[].oid') category=${{ inputs.category }} first_commit_timestamp=$(gh pr view ${{ github.event.number }} --repo ${{ github.repository }} --json commits --jq '.commits[0].committedDate') start_timestamp=$(date -d "$first_commit_timestamp" "+%Y-%m-%d %H:%M:%S") echo "first_commit_timestamp: $first_commit_timestamp" echo "start_timestamp: $start_timestamp" version=${{ github.head_ref }} additions=$(gh pr view ${{ github.event.number }} --repo ${{ github.repository }} --json additions --jq '.additions') deletions=$(gh pr view ${{ github.event.number }} --repo ${{ github.repository }} --json deletions --jq '.deletions') url=$(gh pr view ${{ github.event.number }} --repo ${{ github.repository }} --json url --jq '.url') ./ci_lead_time_for_change.sh $project_name $merge_commit $category "$start_timestamp" $version $additions $deletions $url - name: dora enabled + type(cd) + environment(prod) shell: bash if: steps.set-outputs.outputs.dora == 'enabled' && steps.set-outputs.outputs.type == 'cd' && ( steps.set-outputs.outputs.environment == 'prod' || steps.set-outputs.outputs.environment == 'devops-sandbox' ) run: | cd ./actions/scripts chmod +x cd_lead_time_for_change.sh project_name=${{ inputs.project_name }} image_tag=${{ inputs.image_tag }} category=${{ inputs.category }} end_timestamp=$(date "+%Y-%m-%d %H:%M:%S") version=${{ inputs.version }} ./cd_lead_time_for_change.sh $project_name $image_tag $category "$end_timestamp" $version