Add space for testing #69
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR Build and Release package | |
on: | |
pull_request_target: | |
types: | |
- closed | |
branches: | |
- 'master' | |
jobs: | |
release: | |
if: github.event.pull_request.merged == true | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.DIGITAL_QHEALTH_WORKFLOW }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
registry-url: https://registry.npmjs.org/ | |
node-version: '16' | |
cache: npm | |
- name: Configure Git | |
run: | | |
git config --global user.email "${{ secrets.GH_ORG_EMAIL }}" | |
git config --global user.name "${{ secrets.GH_ORG_NAME }}" | |
- name: npm install | |
run: npm ci | |
- name: Bump version | |
run: | | |
# Get the label names from the pull request event | |
LABELS=$(jq -r '.pull_request.labels[].name' "$GITHUB_EVENT_PATH") | |
# Convert the labels into an array | |
IFS=',' read -ra LABEL_ARRAY <<< "$LABELS" | |
# Initialize variable to store the highest label | |
HIGHEST_LABEL="" | |
# Loop through the labels and check for "major, minor, patch" | |
for LABEL in "${LABEL_ARRAY[@]}"; do | |
if [ "$LABEL" == "major" ] || [ "$LABEL" == "minor" ] || [ "$LABEL" == "patch" ]; then | |
HIGHEST_LABEL="$LABEL" | |
fi | |
done | |
# Check if a valid label was found | |
if [ -n "$HIGHEST_LABEL" ]; then | |
echo "NEW_VERSION=$(npm --no-git-tag-version version $HIGHEST_LABEL)" >> $GITHUB_ENV | |
echo "RELEASE_TAG=latest" >> $GITHUB_ENV | |
else | |
echo "No version bump label found, skipping release" | |
exit 0 | |
fi | |
- name: npm build webpack | |
run: npm run build | |
- name: Update changelog | |
uses: superfaceai/release-changelog-action@v1 | |
with: | |
path-to-changelog: CHANGELOG.md | |
version: ${{ env.NEW_VERSION }} | |
operation: release | |
- name: Publish | |
run: npm publish --access public --tag ${{ env.RELEASE_TAG }} | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_ACCESS_TOKEN }} | |
- name: Commit CHANGELOG.md and package.json changes and create tag | |
run: | | |
git add . | |
git commit -m "chore: release ${{ env.NEW_VERSION }}" | |
git tag ${{ env.NEW_VERSION }} | |
- name: Push changes to repository | |
env: | |
token: ${{ secrets.DIGITAL_QHEALTH_WORKFLOW }} | |
run: | | |
git push origin && git push --tags | |
- name: Get version changelog | |
id: get-changelog | |
uses: superfaceai/release-changelog-action@v1 | |
with: | |
path-to-changelog: CHANGELOG.md | |
version: ${{ env.NEW_VERSION }} | |
operation: read | |
- name: Update GitHub release documentation | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ env.NEW_VERSION }} | |
body: ${{ steps.get-changelog.outputs.changelog }} | |
env: | |
token: ${{ secrets.DIGITAL_QHEALTH_WORKFLOW }} |