1
0
Fork 0

Tag commits on NPM releases with pkgname-v.x.y.z

pull/1365/head
Ferenc Hammerl 2023-03-07 10:41:27 +00:00
parent 787b2cf270
commit 9d7fee4ab4
2 changed files with 80 additions and 1 deletions

View File

@ -9,11 +9,17 @@ on:
jobs: jobs:
test: test:
outputs:
sha: ${{ steps.commit.outputs.sha }}
tag: ${{ steps.tag.outputs.tag }}
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- name: setup repo - name: setup repo
uses: actions/checkout@v3 uses: actions/checkout@v3
- id: commit
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- id: tag
run: echo "tag=${{ github.event.inputs.package }}-$(cat packages/tool-cache/package.json | jq .version)" >> "$GITHUB_OUTPUT"
- name: verify package exists - name: verify package exists
run: ls packages/${{ github.event.inputs.package }} run: ls packages/${{ github.event.inputs.package }}
@ -77,4 +83,26 @@ jobs:
curl -X POST -H 'Content-type: application/json' --data '{"text":":dance: Successfully published a new version of ${{ github.event.inputs.package }}"}' $SLACK_WEBHOOK curl -X POST -H 'Content-type: application/json' --data '{"text":":dance: Successfully published a new version of ${{ github.event.inputs.package }}"}' $SLACK_WEBHOOK
env: env:
SLACK_WEBHOOK: ${{ secrets.SLACK }} SLACK_WEBHOOK: ${{ secrets.SLACK }}
tag:
name: "Tag commit with ${{ github.event.inputs.package }}-version"
runs-on: "macos-latest"
needs: [test, publish]
steps:
- uses: actions/checkout@v3
- name: Create tag
uses: actions/github-script@v6
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/${{ needs.test.outputs.tag }}',
sha: '${{ needs.test.outputs.sha }}'
})
- name: notify slack on failure
if: failure()
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":":pb__failed: Publish of ${{ github.event.inputs.package }} was successful, but failed to tag commit ${{ needs.test.outputs.sha }} with version ${{ needs.test.outputs.tag }}"}' $SLACK_WEBHOOK
env:
SLACK_WEBHOOK: ${{ secrets.SLACK }}

51
.github/workflows/tag-test.yml vendored Normal file
View File

@ -0,0 +1,51 @@
name: Tag test
on:
workflow_dispatch:
inputs:
package:
required: true
description: 'core, artifact, cache, exec, github, glob, http-client, io, tool-cache'
jobs:
test:
outputs:
sha: ${{ steps.commit.outputs.sha }}
tag: ${{ steps.tag.outputs.tag }}
runs-on: macos-latest
steps:
- name: setup repo
uses: actions/checkout@v3
- id: commit
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
- id: tag
run: echo "tag=${{ github.event.inputs.package }}-$(cat packages/tool-cache/package.json | jq .version)" >> "$GITHUB_OUTPUT"
publish:
runs-on: macos-latest
needs: test
steps:
- name: foo
run: echo "foo"
tag:
name: "Tag commit with ${{ github.event.inputs.package }}-version"
runs-on: "macos-latest"
needs: [test, publish]
steps:
- uses: actions/checkout@v3
- name: Create tag
uses: actions/github-script@v6
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/${{ needs.test.outputs.tag }}',
sha: '${{ needs.test.outputs.sha }}'
})
- name: notify slack on failure
# if: failure()
# run: |
# curl -X POST -H 'Content-type: application/json' --data '{"text":":pb__failed: Publish of ${{ github.event.inputs.package }} was successful, but failed to tag commit ${{ needs.test.outputs.sha }} with version ${{ needs.test.outputs.tag }}"}' $SLACK_WEBHOOK
# env:
# SLACK_WEBHOOK: ${{ secrets.SLACK }}