{"id":22165563,"url":"https://github.com/textileio/github-action-buckets","last_synced_at":"2025-07-26T11:32:10.589Z","repository":{"id":48285625,"uuid":"240618920","full_name":"textileio/github-action-buckets","owner":"textileio","description":"Push repo to a Textile Bucket","archived":false,"fork":false,"pushed_at":"2021-08-03T10:33:43.000Z","size":10941,"stargazers_count":10,"open_issues_count":13,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-01T12:16:39.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/textileio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-14T23:56:07.000Z","updated_at":"2024-11-04T23:59:48.000Z","dependencies_parsed_at":"2023-01-04T12:29:21.122Z","dependency_job_id":null,"html_url":"https://github.com/textileio/github-action-buckets","commit_stats":{"total_commits":52,"total_committers":2,"mean_commits":26.0,"dds":"0.019230769230769273","last_synced_commit":"4d3de20d92aa8782127749cb31f7b6e98917f273"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fgithub-action-buckets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fgithub-action-buckets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fgithub-action-buckets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textileio%2Fgithub-action-buckets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/textileio","download_url":"https://codeload.github.com/textileio/github-action-buckets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227673973,"owners_count":17802303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-02T05:15:15.074Z","updated_at":"2024-12-02T05:15:15.615Z","avatar_url":"https://github.com/textileio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Push to IPFS, IPNS, Textile Buckets in CI\n\nUse buckets to create, update or remove a directory on a remote IPFS node of the [Textile Hub](https://docs.textile.io/).\n\nBuckets provide you easy access to multiple protocols for sharing or moving data. When you create a Bucket on the Textile Hub, you will get an IPFS hash of the latest content, an IPNS address that will update with each change, and a unique subdomain to share your latest updates.\n\n##### Example output\n\n- **ipfs**: bafybeigu4cekqzl6fs57svia63p4v4yvp6oanrsuktgwy7sc742dcp4yrm\n- **ipfs gateway link**: https://hub.textile.io/ipfs/bafybeigu4cekqzl6fs57svia63p4v4yvp6oanrsuktgwy7sc742dcp4yrm\n- **ipns**: bafzbeicg4zuixstnoubuvb4nvqfcgj7iqu4dm6l3fwiwgnac6nsrnfgzjm\n- **ipns link**: https://hub.textile.io/ipns/bafzbeicg4zuixstnoubuvb4nvqfcgj7iqu4dm6l3fwiwgnac6nsrnfgzjm\n- **hub link**: https://hub.textile.io/thread/bafky45bowefya4lprbkvzzvmmjmqr56hu6qn6wpolbjil7p25goycwy/buckets/bafzbeicg4zuixstnoubuvb4nvqfcgj7iqu4dm6l3fwiwgnac6nsrnfgzjm\n- **www link**: https://bafzbeicg4zuixstnoubuvb4nvqfcgj7iqu4dm6l3fwiwgnac6nsrnfgzjm.textile.space\n\n## Usage\n\nAdd a step to your github actions.\n\n```yml\nname: \"Textile Bucket - Deploy\"\non:\n  push:\n    branches:\n      - master\n  pull_request:\n    branches:\n      - master\n\njobs:\n  bucket_push:\n    runs-on: ubuntu-latest\n    name: push textile bucket\n    steps:\n    - name: push action\n      id: bucket\n      uses: textileio/github-action-buckets@master\n      with:\n        key: ${{ secrets.TEXTILE_ACCOUNT_KEY }}\n        secret: ${{ secrets.TEXTILE_ACCOUNT_SECRET }}\n        bucket: '\u003cBUCKET_NAME\u003e'\n        thread: '\u003cTHREAD_ID\u003e'\n        path: '\u003cDIRECTORY_PATH\u003e'\n        pattern: '\u003cFILE_PATTERN\u003e'\n        remove: '\u003cREMOVE_BUCKET?\u003e'\n    # Use the output from the `hello` step\n    - run: echo \"bucket key: ${{ steps.bucket.outputs.key }}\"\n    - run: echo \"ipfs: ${{ steps.bucket.outputs.ipfs }}\"\n    - run: echo \"ipfs link: ${{ steps.bucket.outputs.ipfsUrl }}\"\n    - run: echo \"ipns: ${{ steps.bucket.outputs.ipns }}\"\n    - run: echo \"ipns link: ${{ steps.bucket.outputs.ipnsUrl }}\"\n    - run: echo \"hub: ${{ steps.bucket.outputs.hub }}\"\n    - run: echo \"www: ${{ steps.bucket.outputs.www }}\"\n```\n\n**Parameters**\n\n- **key**: a textile hub account key for you or your organization ([docs](https://docs.textile.io/hub/app-apis/)).\n- **secret**: a textile hub account key for you or your organization ([docs](https://docs.textile.io/hub/app-apis/)).\n- **thread**: thread id for thread holding bucket. ([docs](https://docs.textile.io/hub/cli/hub_buck_init/) see output of _bucket init_ or `cat .textile/config.yml`).\n- **bucket**: remote bucket path name. ([docs](https://docs.textile.io/hub/cli/hub_buck_init/) name you set when you created the bucket).\n- **path**: (optional) the path within the repo that you want pushed to your bucket (default: '.').\n- **pattern**: (optional) file search filter to limit which files you push to the remote bucket (default: '**/*').\n- **remove**: (optional) set to 'true' if you wish to remove the bucket not update/create it. this cannot be undone.\n\nYou must use an existing ThreadID (_thread_) to push your Bucket. If you use an existing Bucket name (_bucket_) it will update that bucket, if you use a new name it will create a new bucket in the thread.\n\nTo create a Thread for your Bucket, first setup a bucket locally.\n\n```bash\n// create your account\nhub init\n// login\nhub login\n// go to your project rep\ncd project\n// init a bucket\n// you will select a bucket name and thread. copy the thread id (and optionally the same name) to use as parameters here.\nhub bucket init\n```\n\nYou can also keep ThreadID private by supplying it from your SECRETs.\n\nFor more information on using Textile Buckets, see the [documentation](https://docs.textile.io/hub/buckets).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fgithub-action-buckets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextileio%2Fgithub-action-buckets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextileio%2Fgithub-action-buckets/lists"}