Skip to content

GitHub Action for upload to IPFS. Supports Pinata, Infura pinning service as well as direct upload.

License

Notifications You must be signed in to change notification settings

aquiladev/ipfs-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

ipfs-action

IPFS upload GitHub Action. It allows uploading DApps or content to IPFS in a GitHub pipeline.

ipfs action

Inputs

Parameter Required Description
path Yes Directory's path to upload.
service No Type of target service to upload. Supported services [ipfs, pinata, infura]. Default ipfs
timeout No Request timeout. Default 60000 (1 minute)
verbose No Level of verbosity [false - quiet, true - verbose]. Default false
host No [ipfs] IPFS host. Default ipfs.komputing.org
port No [ipfs] IPFS host's port. Default 443
protocol No [ipfs] IPFS host's protocol. Default https
headers No [ipfs] IPFS headers as json object. Default {}
key No [ipfs] IPNS key name. IPNS key will be published when the key parameter is provided. The key will be created if it does not exist. Default undefined
pinataKey No [pinata] Api Key. Required for pinata service.
pinataSecret No [pinata] Secret Api Key. Required for pinata service.
pinataPinName No [pinata] Human name for pin.

Outputs

  • hash - IPFS CID
  • cid - IPFS CID
  • ipfs - IPFS CID
  • ipns - IPNS CID if applicable

Documentation

Take a look DApps Delivery Guide

Examples

1. IPFS starter

uses: aquiladev/ipfs-action@v1
with:
  path: ./

2. IPFS with output and params

uses: aquiladev/ipfs-action@v1
id: ipfs
with:
  path: ./build
  host: ipfs.komputing.org
  port: 443
  protocol: https
  timeout: 180000
  verbose: true

3. Pinata starter

uses: aquiladev/ipfs-action@v1
with:
  path: ./build
  service: pinata
  pinataKey: ${{ secrets.PINATA_KEY }}
  pinataSecret: ${{ secrets.PINATA_SECRET }}