Skip to content

fix: Ensure walk() doesn't error out on directory ENOENT (#135) #149

fix: Ensure walk() doesn't error out on directory ENOENT (#135)

fix: Ensure walk() doesn't error out on directory ENOENT (#135) #149

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 }}