name: Version Update

on:
  repository_dispatch:
    types:
      - publish npm package

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
          registry-url: https://registry.npmjs.org/
      - run: npm ci
      - name: Echo payload
        run: echo ${{ github.event.client_payload.message.tag }}
      - name: NPM-Version
        uses: Reedyuk/NPM-Version@1.1.1
        with:
          version: ${{ github.event.client_payload.message.tag }}
          package: ./
      - name: Add & Commit
        uses: EndBug/add-and-commit@v9
      - run: npm run-script build
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
      - uses: 8398a7/action-slack@v3
        with:
          status: custom
          fields: workflow,job,commit,repo,ref,author,took
          custom_payload: |
            {
              attachments: [{
                color: '${{ job.status }}' === 'success' ? 'good' : '${{ job.status }}' === 'failure' ? 'danger' : 'warning',
                text: `Identity-admin-api-client ${{ github.event.client_payload.message.tag }} publish ${{ job.status }} in ${process.env.AS_TOOK}`,
              }]
            }
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
          if: always()
