Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aquiladev/ipfs-action
GitHub Action for upload to IPFS. Supports Pinata, Infura pinning service as well as direct upload.
https://github.com/aquiladev/ipfs-action
action deploy github infura ipfs pinata upload
Last synced: 5 days ago
JSON representation
GitHub Action for upload to IPFS. Supports Pinata, Infura pinning service as well as direct upload.
- Host: GitHub
- URL: https://github.com/aquiladev/ipfs-action
- Owner: aquiladev
- License: mit
- Created: 2020-02-20T11:36:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-01T18:40:16.000Z (3 months ago)
- Last Synced: 2024-12-01T08:08:45.894Z (12 days ago)
- Topics: action, deploy, github, infura, ipfs, pinata, upload
- Language: JavaScript
- Homepage: https://dapps-delivery-guide.readthedocs.io/
- Size: 30.3 MB
- Stars: 177
- Watchers: 3
- Forks: 46
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - aquiladev/ipfs-action - GitHub Action for upload to IPFS. Supports Pinata, Infura pinning service as well as direct upload. (JavaScript)
README
# ipfs-action
IPFS upload GitHub Action. It allows uploading DApps or content to IPFS in a GitHub pipeline.
## Inputs
Parameter |Required |Description
--- |--- |---
`path` |Yes |Directory's path to upload.
`pin` |No |Pin object when adding. (Default `true`)
`pinName` |No |Human name for pin.
`service` |No |Type of target service to upload. Supported services [`ipfs`, `pinata`, `infura`, `filebase`]. (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 Key. Required for pinata service.
`pinataPinName` |No |[pinata] Human name for pin. **Obsolete**, use `pinName` instead.
`filebaseBucket` |No |[filebase] Bucket to store pin in. Required for filebase service.
`filebaseKey` |No |[filebase] S3 Access Key. Required for filebase service.
`filebaseSecret` |No |[filebase] S3 Secret Key. Required for filebase service.
`infuraProjectId` |No |[infura] Project ID. Required for infura service.
`infuraProjectSecret` |No |[infura] Project Secret. Required for infura service.
## Outputs- `hash` - IPFS CID
- `cid` - IPFS CID
- `ipfs` - IPFS CID
- `ipns` - IPNS CID if applicable## Documentation
Take a look [DApps Delivery Guide](https://dapps-delivery-guide.readthedocs.io/)## Examples
### 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 }}
```