diff --git a/.github/workflows/deno.yml b/.github/workflows/deno.yml deleted file mode 100644 index 6880179f..00000000 --- a/.github/workflows/deno.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Publish NPM - -on: - workflow_dispatch: - inputs: - package: - required: true - description: 'core, artifact, cache, exec, github, glob, io, tool-cache' - version: - required: true - description: 'the version of the package to publish' - -jobs: - test: - runs-on: macos-latest - - steps: - - name: Setup repo - uses: actions/checkout@v2 - - - name: npm install - run: npm install - - - name: bootstrap - run: npm run bootstrap - - - name: build - run: npm run build - - - name: Run tests - run: npm run test - - - name: echo inputs - run: echo ${{ github.event.inputs.package }} ${{ github.event.inputs.version }} - - publish: - runs-on: macos-latest - needs: test - environment: npm-publish - steps: - - name: Testing - run: echo 'this is where we publish' - diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml new file mode 100644 index 00000000..6695f817 --- /dev/null +++ b/.github/workflows/releases.yml @@ -0,0 +1,72 @@ +name: Publish NPM + +on: + workflow_dispatch: + inputs: + package: + required: true + description: 'core, artifact, cache, exec, github, glob, io, tool-cache' + +jobs: + test: + runs-on: macos-latest + + steps: + - name: setup repo + uses: actions/checkout@v2 + + - name: verify package exists + run: ls packages/${{ github.event.inputs.package }} + + - name: npm install + run: npm install + + - name: bootstrap + run: npm run bootstrap + + - name: build + run: npm run build + + - name: test + run: npm run test + + - name: pack + run: npm pack + working-directory: packages/${{ github.event.inputs.package }} + + - name: upload artifact + uses: actions/upload-artifact@v2 + with: + name: ${{ github.event.inputs.package }} + path: packages/${{ github.event.inputs.package }}/*.tgz + + publish: + runs-on: macos-latest + needs: test + environment: npm-publish + steps: + + - name: download artifact + uses: actions/download-artifact@v2 + with: + name: ${{ github.event.inputs.package }} + + - name: publish + run: npm publish *.tgz --dry-run + env: + NPM_TOKEN: ${{ secrets.TOKEN }} + + - name: notify slack on failure + if: failure() + run: | + curl -X POST -H 'Content-type: application/json' --data '{"text":":pb__failed: Failed to publish a new version of ${{ github.event.inputs.package }}"}' $SLACK_WEBHOOK + env: + SLACK_WEBHOOK: ${{ secrets.SLACK }} + + - name: notify slack on success + if: success() + run: | + curl -X POST -H 'Content-type: application/json' --data '{"text":":dance: Successfully published a new version of ${{ github.event.inputs.package }}"}' $SLACK_WEBHOOK + env: + SLACK_WEBHOOK: ${{ secrets.SLACK }} +