chore(deps): update yarn.lock #67
This file contains hidden or 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: Manual Release | ||
|
Check failure on line 1 in .github/workflows/release.yml
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| bump: | ||
| description: 'Version bump type' | ||
| type: choice | ||
| options: | ||
| - major | ||
| - minor | ||
| - patch | ||
| - prerelease | ||
| required: false | ||
| release_version: | ||
| description: 'OR Explicit version number (must be greater than current root version)' | ||
| required: false | ||
| env: | ||
| NODE_VERSION: '24.11.1' | ||
| permissions: | ||
| contents: write | ||
| pull-requests: write | ||
| id-token: write | ||
| packages: write | ||
| jobs: | ||
| release: | ||
| # Allow only on master, spring*, summer*, winter*; | ||
| if: ${{ github.repository_owner == 'salesforce' }} | ||
| name: Release LWC - ${{ inputs.release_version }} ${{ inputs.bump }} | ||
| environment: release | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Validate input version | ||
| id: resolve_input | ||
| run: | | ||
| RELEASE_VERSION='${{ inputs.release_version }}' | ||
| if [ -z "$RELEASE_VERSION" ]; then | ||
| RELEASE_VERSION='${{ inputs.bump }}' | ||
| if [ -z "$RELEASE_VERSION" ]; then | ||
| echo "An explicit version number or release version type must be specified." | ||
| exit 1 | ||
| fi | ||
| fi | ||
| if [ "$RELEASE_VERSION" = prerelease ]; then | ||
| TAG=canary | ||
| else | ||
| case "$GITHUB_REF_NAME" in | ||
| master) TAG=latest;; | ||
| winter*) TAG="$GITHUB_REF_NAME";; | ||
| spring*) TAG="$GITHUB_REF_NAME";; | ||
| summer*) TAG="$GITHUB_REF_NAME";; | ||
| *) echo "Could not determine tag for releasing $GITHUB_REF_NAME as v$NEW_VERSION." && exit 1;; | ||
| esac | ||
| fi | ||
| echo "Resolved input: $RELEASE_VERSION" | ||
| echo "resolved=$RELEASE_VERSION" >> "$GITHUB_OUTPUT" | ||
| echo "Resolved tag: $TAG" | ||
| echo "tag=$TAG" >> "$GITHUB_OUTPUT" | ||
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| fetch-depth: 0 | ||
| token: ${{ secrets.WORKFLOW_PAT }} | ||
| persist-credentials: true | ||
| - name: Setup Node | ||
| uses: actions/setup-node@v6 | ||
| with: | ||
| node-version: ${{ env.NODE_VERSION }} | ||
| registry-url: 'https://registry.npmjs.org' | ||
| cache: 'yarn' | ||
| - name: Install dependencies | ||
| run: yarn install --frozen-lockfile --ignore-scripts # Building later; can skip for now | ||
| - name: Update LWC version | ||
| id: update_version | ||
| env: | ||
| VERSION_INPUT: ${{ steps.resolve_input.outputs.resolved }} | ||
| run: | | ||
| node ./scripts/release/version.js "$VERSION_INPUT" | ||
| RESOLVED_VERSION="$(jq -r .version package.json)" | ||
| echo "New version: $RESOLVED_VERSION" | ||
| echo "new_version=$RESOLVED_VERSION" >> "$GITHUB_OUTPUT" | ||
| - name: Build | ||
| run: yarn build | ||
| - name: Set git identity (Actions bot) | ||
| if: ${{ steps.resolve_input.outputs.resolved != "prerelease" }} | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
| - name: Commit & push | ||
| if: ${{ steps.resolve_input.outputs.resolved != "prerelease" }} | ||
| uses: actions-js/push@v1.4 | ||
| with: | ||
| github_token: ${{ secrets.WORKFLOW_PAT }} | ||
| branch: ${{ github.ref_name }} | ||
| message: 'chore: release v${{ steps.update_version.outputs.new_version }}' | ||
| - name: Publish to npm | ||
| env: | ||
| NEW_VERSION: ${{ steps.update_version.outputs.new_version }} | ||
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
| NPM_CONFIG_ALWAYS_AUTH: 'true' | ||
| TAG: ${{ steps.resolve_input.outputs.tag }} | ||
| run: | | ||
| # Force both npm and yarn to use npmjs and pick up the token | ||
| yarn config set registry https://registry.npmjs.org | ||
| npm config set registry https://registry.npmjs.org | ||
| printf "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}\nalways-auth=true\n" > ~/.npmrc | ||
| # Sanity checks | ||
| echo "yarn registry: $(yarn config get registry)" | ||
| echo "npm registry: $(npm config get registry)" | ||
| echo "Publishing $GITHUB_REF_NAME as v$NEW_VERSION using tag $TAG." | ||
| yarn nx release publish --yes --tag "$TAG" | ||
| - name: Tag and create GitHub release | ||
| if: ${{ steps.resolve_input.outputs.resolved != "prerelease" }} | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| VERSION: ${{ steps.update_version.outputs.new_version }} | ||
| run: | | ||
| git tag -a "v$VERSION" -m "Release v$VERSION" | ||
| git push origin tag "v$VERSION" | ||
| gh release create "v$VERSION" --title "v$VERSION" --generate-notes | ||