Skip to content

feat: GitHub Action for Filecoin Pin Uploads #49

@SgtPooki

Description

@SgtPooki

Feature: GitHub Action for Filecoin Pin Uploads

We’d like to create a reusable GitHub Action to streamline uploads to Filecoin via filecoin-pin, supporting static site hosting and other workflows currently handled by Fleek.


Action Name

filecoin-pin-upload-action


Inputs

  • github_token - github token for authorization to perform actions against repo, comment, and upload artifacts.
  • privateKey – Wallet private key to use for funding uploads.
  • minDuration – Minimum duration to lock funds, used to calculate top-up requirements.
  • minBalance – Minimum FIL balance to keep deposited (consumed over time via lockupRate).
  • maxTopUp – Maximum allowed top-up amount.

Outputs

  • GitHub Comment on PR/issue with:

    • Root CID
    • Link to preview (TBD, dependent on infra readiness).
  • GitHub Artifacts:

    • CAR file uploaded
    • Provider info
    • Dataset ID
    • Root CID

Use Cases

  • Trustless gateway publishes the root CID added with filecoin-pin and makes it available for retrieval.
  • Replacement for Fleek-style static site hosting workflows.

Example Usage

Consumers should be able to use the Action in their repo with a minimal workflow file like:

name: Upload site to Filecoin

on:
  push:
    branches: [main]

jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Build site
        run: npm run build

      - name: Upload to Filecoin
        uses: filecoin-project/filecoin-pin-upload-action@v1
        with:
          privateKey: ${{ secrets.FILECOIN_WALLET_KEY }}
          minDuration: "10d"
          minBalance: "5"
          maxTopUp: "50"

Dependencies

  • Filcoin Pin - required to support the inputs for this github action

  • IPNI in Curio – required for content indexing.

  • cid.contact – currently broken; Shipyard is building an IPNI filecoin-pin instance in the meantime.

  • SP Indexing CAR Files

    • CARs are just bytes with pieceCID; storage providers need to be able to index CARs locally (CIDs + offsets in DB).
    • Possible to use FilBeam without SP indexing if user enables withCDN.
  • Coordination with Miro (Space Meridian / FilBeam).


Next Steps

  • Define preview link flow (depends on infra readiness).
  • Confirm integration approach with IPNI + FilBeam.
  • Draft initial Action implementation and test against existing ipld.io or FilOz repos.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions