Skip to content

Align zcash PR workflows with n8n-style IPFS test builds#51

Merged
Pol-Lanski merged 3 commits into
masterfrom
copilot/update-github-actions-zcash
May 21, 2026
Merged

Align zcash PR workflows with n8n-style IPFS test builds#51
Pol-Lanski merged 3 commits into
masterfrom
copilot/update-github-actions-zcash

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 20, 2026

zcash pull requests were only running a validation build, so they never produced the PR comment with the IPFS install link/hash used for test installs. This updates the workflow layout to match the working n8n pattern while keeping release automation separate and preserving the repo’s current master branch strategy.

  • PR/test build workflow

    • adds .github/workflows/build.yml
    • runs on pull_request and workflow_dispatch
    • uses actions/checkout@v4 and actions/setup-node@v4 with Node 20
    • switches the PR build path to npx @dappnode/dappnodesdk github-action build
    • passes GITHUB_TOKEN, PINATA_API_KEY, and PINATA_SECRET_API_KEY
    • scopes workflow permissions explicitly for repo read + PR comment posting
  • Release workflow cleanup

    • removes PR build handling from .github/workflows/main.yml
    • keeps release publishing in main.yml on repository_dispatch and release-related push events
    • updates checkout there to actions/checkout@v4
  • Branch trigger consistency

    • updates .github/workflows/auto_check.yml to use master
    • removes main-based PR/release ambiguity from the workflow set

Example of the new PR build path:

name: Build test

on:
  workflow_dispatch:
  pull_request:

permissions:
  contents: read
  issues: write
  pull-requests: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx @dappnode/dappnodesdk github-action build
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }}
          PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }}

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.ipfs.dappnode.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/.npm/_npx/7366de4368e80aba/node_modules/.bin/dappnodesdk build --provider remote (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Update GitHub Actions workflows in dappnode/DAppNodePackage-zcash so pull requests generate the same IPFS testing comment/install link behavior seen in dappnode/DAppNodePackage-n8n PR #150.

Context:

  • Current zcash PRs do not generate the GitHub Actions comment containing an install link and /ipfs/... hash for testing.
  • Investigation showed DAppNodePackage-zcash only has .github/workflows/main.yml and .github/workflows/auto_check.yml.
  • In zcash, the PR job in .github/workflows/main.yml runs npx @dappnode/dappnodesdk build --provider remote, which appears to be only a plain validation build.
  • In DAppNodePackage-n8n, there is a dedicated .github/workflows/build.yml triggered on pull_request that runs npx @dappnode/dappnodesdk github-action build with GITHUB_TOKEN, PINATA_API_KEY, and PINATA_SECRET_API_KEY. That repo’s PR #150 received the expected bot comment with install link and IPFS hash.

Requested work:

  1. Create a pull request against branch master in dappnode/DAppNodePackage-zcash.
  2. Add the workflow changes needed so zcash behaves like n8n for PR builds:
    • Add a dedicated .github/workflows/build.yml for PR/test builds.
    • Use actions/checkout@v4 and actions/setup-node@v4 with node-version: 20.
    • Run npx @dappnode/dappnodesdk github-action build.
    • Pass GITHUB_TOKEN, PINATA_API_KEY, and PINATA_SECRET_API_KEY.
    • Ensure it runs on pull_request and can also be manually triggered.
  3. Update .github/workflows/main.yml so it is consistent with the new setup. Prefer the cleaner split where PR builds are handled by build.yml and release logic stays in main.yml, avoiding duplicate PR build jobs. Preserve existing release behavior.
  4. Review .github/workflows/auto_check.yml and keep branch naming consistent with the repo’s current branching strategy (master unless there is already an existing main branch to support as well).
  5. Keep the change focused on workflow behavior; do not make unrelated repo modifications.
  6. In the PR description, clearly explain that this aligns zcash with the working n8n workflow pattern so PRs can produce the IPFS testing install comment/hash.

Important constraints:

  • The user agreed to target master for now.
  • Preserve existing release behavior unless needed for duplicate-build cleanup.
  • Use the repository itself to verify current branch/workflow state before making changes.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: why did this not generate an IPFS hash for testing like this one: @dappnode/DAppNodePackage-n8n/pull/150
in the n8n PR appears as a comment from github actions with an install link and a hash.

Assistant: It didn’t generate the IPFS hash comment because the zcash repo is missing the PR build workflow that pins the test build and comments the install link.

The key difference is:

  • n8n has a dedicated .github/workflows/build.yml that runs on pull_request and executes:
    • npx @dappnode/dappnodesdk github-action build
    • with PINATA_API_KEY and PINATA_SECRET_API_KEY
  • That is exactly the kind of workflow that would build, pin to IPFS, and post the PR comment with the install link/hash.

By contrast, zcash does not have build.yml. Its PR workflow is only in .github/workflows/main.yml, and the PR job runs:

jobs:
  build-test:
    runs-on: ubuntu-latest
    name: Build test
    if: github.event_name != 'push'
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - run: npx @dappnode/dappnodesdk build --provider remote

That job only does a build test. It does not pass Pinata secrets, and it does not use the github-action build command that appears to be responsible for posting the PR comment.

Meanwhile n8n has this:

name: Build test
on:
  workflow_dispatch:
  pull_request:
  push:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx @dappnode/dappnodesdk github-action build
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }}
          PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }}

And PR #150 in n8n did in fact receive the bot comment with the IPFS install link/hash.

Also, in zcash PR #50 there are currently 0 PR comments, while n8n PR #150 has the GitHub Actions comment with the install link and /ipfs/... hash.

So the likely answer is:

  1. **zcash lacks the workflow that publishes/p...

This pull request was created from Copilot chat.

Copilot AI and others added 2 commits May 20, 2026 06:54
Copilot AI changed the title [WIP] Update GitHub Actions workflows for IPFS comment generation Align zcash PR workflows with n8n-style IPFS test builds May 20, 2026
Copilot AI requested a review from Pol-Lanski May 20, 2026 06:56
@Pol-Lanski Pol-Lanski marked this pull request as ready for review May 21, 2026 09:59
@Pol-Lanski Pol-Lanski merged commit 6da0522 into master May 21, 2026
1 check passed
@Pol-Lanski Pol-Lanski deleted the copilot/update-github-actions-zcash branch May 21, 2026 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants