Update cd-build-push-deploy.yml #106
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: Release | |
on: | |
push: | |
branches: | |
- development | |
concurrency: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
outputs: | |
published: ${{ steps.changesets.outputs.published }} | |
published-packages: ${{ steps.changesets.outputs.publishedPackages }} | |
publish-npm: ${{ steps.changesets.outputs.published }} | |
permissions: | |
pages: read | |
issues: write | |
actions: write | |
statuses: write | |
contents: write | |
pull-requests: write | |
security-events: write | |
steps: | |
# - uses: actions/create-github-app-token@v1 | |
# id: app-token | |
# with: | |
# app-id: ${{ secrets.LADESA_BOT_ID }} | |
# private-key: ${{ secrets.LADESA_BOT_SECRET }} | |
# - name: Get GitHub App User ID | |
# id: get-user-id | |
# run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT" | |
# env: | |
# GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
# - run: | | |
# git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]' | |
# git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com>' | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# token: ${{ steps.app-token.outputs.token }} | |
- name: Install | |
uses: ./.github/actions/prepare/install | |
with: | |
install-node: "true" | |
- name: Run changesets action | |
uses: changesets/action@v1 | |
id: changesets | |
with: | |
# setupGitUser: false | |
setupGitUser: true | |
createGithubReleases: false | |
title: "chore: version packages" | |
commit: "chore: version packages" | |
publish: pnpm run -w changeset:tag | |
version: pnpm run -w changeset:version | |
env: | |
NPM_CONFIG_PROVENANCE: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
outputs: | |
name: Show the release job outputs | |
runs-on: ubuntu-latest | |
needs: [release] | |
steps: | |
- name: print outputs (for debug purposes only) | |
run: echo '${{ toJSON(needs.release.outputs) }}' | |
publish-npm: | |
name: Publish to the NPM registry | |
runs-on: ubuntu-latest | |
needs: [release] | |
if: needs.release.outputs.published == 'true' && needs.release.outputs.publish-npm == 'true' | |
permissions: | |
actions: read | |
contents: write | |
id-token: write | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Extract tag | |
id: extract-tag | |
run: | | |
TAG=latest | |
FILE=.changeset/pre.json | |
if [ -f ${FILE} ]; then | |
TAG=$(cat ${FILE} | jq .tag); | |
fi | |
echo tag: ${TAG} | |
echo "TAG=${TAG}" >> $GITHUB_OUTPUT | |
- name: Publish to the NPM registry | |
uses: ./.github/actions/publish/npm | |
with: | |
tag: "${{ steps.extract-tag.outputs.tag }}" | |
npm-token: "${{ secrets.NPM_TOKEN }}" | |
edge-publish-npm: | |
name: Edge NPM package publish | |
runs-on: ubuntu-latest | |
needs: [release] | |
if: needs.release.outputs.published == 'false' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/prepare/install | |
with: | |
install-node: "true" | |
- name: Build | |
uses: ./.github/actions/prepare/build | |
with: | |
workspace-build: "true" | |
- name: "Continuos Release: publish to pkg.pr.new" | |
run: pnpx pkg-pr-new publish --comment=update './integrations/npm/api-client-fetch' | |
cd-build-push-deploy: | |
name: "CD: Build, Push and Deploy" | |
uses: ./.github/workflows/cd-build-push-deploy.yml | |
secrets: inherit | |
needs: [release] |