fix: Ensure walk() doesn't error out on directory ENOENT (#135) #149
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
on: | |
push: | |
branches: | |
- main | |
name: release-please | |
permissions: | |
contents: write | |
pull-requests: write | |
id-token: write | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: GoogleCloudPlatform/release-please-action@v4 | |
id: release | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
# Output which releases were created | |
- run: echo "A release was created." | |
if: ${{ steps.release.outputs.releases_created }} | |
# Check to see if we need to do any releases and if so check out the repo | |
- uses: actions/checkout@v4 | |
if: ${{ steps.release.outputs.releases_created }} | |
# Node.js release | |
- uses: actions/setup-node@v4 | |
if: ${{ steps.release.outputs.releases_created }} | |
with: | |
node-version: lts/* | |
registry-url: "https://registry.npmjs.org" | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: 1.x | |
- run: npm ci | |
if: ${{ steps.release.outputs.releases_created }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/core | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/core package to npm | |
run: npm publish -w packages/core | |
if: ${{ steps.release.outputs['packages/core--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Publish @humanfs/core package to JSR | |
run: | | |
npm run build | |
npx jsr publish | |
working-directory: packages/core | |
if: ${{ steps.release.outputs['packages/core--release_created'] }} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/core v${{ steps.release.outputs['packages/core--major'] }}.${{ steps.release.outputs['packages/core--minor'] }}.${{ steps.release.outputs['packages/core--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/core--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/core v${{ steps.release.outputs['packages/core--major'] }}.${{ steps.release.outputs['packages/core--minor'] }}.${{ steps.release.outputs['packages/core--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/core--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/test | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/test package to npm | |
run: npm publish -w packages/test | |
if: ${{ steps.release.outputs['packages/test--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
#----------------------------------------------------------------------------- | |
# @humanfs/types | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/types package to npm | |
run: npm publish -w packages/types | |
if: ${{ steps.release.outputs['packages/types--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
#----------------------------------------------------------------------------- | |
# @humanfs/node | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/node package to npm | |
run: npm publish -w packages/node | |
if: ${{ steps.release.outputs['packages/node--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/node v${{ steps.release.outputs['packages/node--major'] }}.${{ steps.release.outputs['packages/node--minor'] }}.${{ steps.release.outputs['packages/node--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/node--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/node--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/node v${{ steps.release.outputs['packages/node--major'] }}.${{ steps.release.outputs['packages/node--minor'] }}.${{ steps.release.outputs['packages/node--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/node--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/node--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/memory | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/memory package to npm | |
run: npm publish -w packages/memory | |
if: ${{ steps.release.outputs['packages/memory--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Publish @humanfs/memory package to JSR | |
run: | | |
npm run build | |
npx jsr publish | |
working-directory: packages/memory | |
if: ${{ steps.release.outputs['packages/memory--release_created'] }} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/memory v${{ steps.release.outputs['packages/memory--major'] }}.${{ steps.release.outputs['packages/memory--minor'] }}.${{ steps.release.outputs['packages/memory--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/memory--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/memory--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/memory v${{ steps.release.outputs['packages/memory--major'] }}.${{ steps.release.outputs['packages/memory--minor'] }}.${{ steps.release.outputs['packages/memory--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/memory--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/memory--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/web | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/web package to npm | |
run: npm publish -w packages/web | |
if: ${{ steps.release.outputs['packages/web--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/web v${{ steps.release.outputs['packages/web--major'] }}.${{ steps.release.outputs['packages/web--minor'] }}.${{ steps.release.outputs['packages/web--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/web--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/web--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/web v${{ steps.release.outputs['packages/web--major'] }}.${{ steps.release.outputs['packages/web--minor'] }}.${{ steps.release.outputs['packages/web--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/web--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/web--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/box | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/box package to npm | |
run: npm publish -w packages/box | |
if: ${{ steps.release.outputs['packages/box--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Publish @humanfs/box package to JSR | |
run: | | |
npm run build | |
npx jsr publish | |
working-directory: packages/box | |
if: ${{ steps.release.outputs['packages/box--release_created'] }} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/box v${{ steps.release.outputs['packages/box--major'] }}.${{ steps.release.outputs['packages/box--minor'] }}.${{ steps.release.outputs['packages/box--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/box--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/box--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/box v${{ steps.release.outputs['packages/box--major'] }}.${{ steps.release.outputs['packages/box--minor'] }}.${{ steps.release.outputs['packages/box--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/box--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/box--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} | |
#----------------------------------------------------------------------------- | |
# @humanfs/deno | |
#----------------------------------------------------------------------------- | |
- name: Publish @humanfs/deno package to npm | |
run: npm publish -w packages/deno | |
if: ${{ steps.release.outputs['packages/deno--release_created'] }} | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Publish @humanfs/deno package to JSR | |
run: | | |
npm run build | |
deno task install-deps | |
npx jsr publish --allow-dirty | |
working-directory: packages/deno | |
if: ${{ steps.release.outputs['packages/deno--release_created'] }} | |
- name: Tweet Release Announcement | |
run: npx @humanwhocodes/tweet "humanfs/deno v${{ steps.release.outputs['packages/deno--major'] }}.${{ steps.release.outputs['packages/deno--minor'] }}.${{ steps.release.outputs['packages/deno--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/deno--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/deno--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }} | |
TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }} | |
TWITTER_ACCESS_TOKEN_KEY: ${{ secrets.TWITTER_ACCESS_TOKEN_KEY }} | |
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} | |
- name: Toot Release Announcement | |
run: npx @humanwhocodes/toot "humanfs/deno v${{ steps.release.outputs['packages/deno--major'] }}.${{ steps.release.outputs['packages/deno--minor'] }}.${{ steps.release.outputs['packages/deno--patch'] }} has been released!\n\n${{ github.event.repository.html_url }}/releases/tag/${{ steps.release.outputs['packages/deno--tag_name'] }}" | |
if: ${{ steps.release.outputs['packages/deno--release_created'] && !steps.release.outputs['packages/core--release_created'] }} | |
env: | |
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }} | |
MASTODON_HOST: ${{ secrets.MASTODON_HOST }} |