Home

Awesome

ipfs-action

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

<p align="center"> <img width="400" src="assets/ipfs-action.png" alt="ipfs action"> </p>

Inputs

ParameterRequiredDescription
pathYesDirectory's path to upload.
pinNoPin object when adding. (Default true)
pinNameNoHuman name for pin.
serviceNoType of target service to upload. Supported services [ipfs, pinata, infura, filebase]. (Default ipfs)
timeoutNoRequest timeout. (Default 60000 (1 minute))
verboseNoLevel of verbosity [false - quiet, true - verbose]. (Default false)
hostNo[ipfs] IPFS host. Default ipfs.komputing.org
portNo[ipfs] IPFS host's port. (Default 443)
protocolNo[ipfs] IPFS host's protocol. (Default https)
headersNo[ipfs] IPFS headers as json object. (Default {})
keyNo[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)
pinataKeyNo[pinata] API Key. Required for pinata service.
pinataSecretNo[pinata] Secret Key. Required for pinata service.
pinataPinNameNo[pinata] Human name for pin. Obsolete, use pinName instead.
filebaseBucketNo[filebase] Bucket to store pin in. Required for filebase service.
filebaseKeyNo[filebase] S3 Access Key. Required for filebase service.
filebaseSecretNo[filebase] S3 Secret Key. Required for filebase service.
infuraProjectIdNo[infura] Project ID. Required for infura service.
infuraProjectSecretNo[infura] Project Secret. Required for infura service.

Outputs

Documentation

Take a look DApps Delivery Guide

Examples

<!-- ### IPFS starter ``` uses: aquiladev/ipfs-action@master with: path: ./ ``` ### IPFS with output and params ``` uses: aquiladev/ipfs-action@master id: ipfs with: path: ./build host: ipfs.io port: 5001 protocol: https timeout: 180000 verbose: true ``` -->

Pinata starter

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

Infura starter

uses: aquiladev/ipfs-action@master
with:
  path: ./build
  service: infura
  infuraProjectId: ${{ secrets.INFURA_PROJECT_ID }}
  infuraProjectSecret: ${{ secrets.INFURA_PROJECT_SECRET }}

Filebase starter

uses: aquiladev/ipfs-action@v1
with:
  path: ./build
  service: filebase
  pinName: 'ipfs-action'
  filebaseBucket: ${{ secrets.FILEBASE_BUCKET }}
  filebaseKey: ${{ secrets.FILEBASE_KEY }}
  filebaseSecret: ${{ secrets.FILEBASE_SECRET }}