{"id":44125880,"url":"https://github.com/projg2/crate-dist-mirror-action","last_synced_at":"2026-02-08T21:18:40.968Z","repository":{"id":275089021,"uuid":"922148982","full_name":"projg2/crate-dist-mirror-action","owner":"projg2","description":"GitHub action to fetch new tags from upstream and run crate-dist-action on them","archived":false,"fork":false,"pushed_at":"2025-03-22T06:11:23.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T06:27:36.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projg2.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T12:59:48.000Z","updated_at":"2025-03-22T06:03:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"94759a64-f658-44a0-9d42-537237f813dd","html_url":"https://github.com/projg2/crate-dist-mirror-action","commit_stats":null,"previous_names":["projg2/crate-dist-mirror-action"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/projg2/crate-dist-mirror-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projg2%2Fcrate-dist-mirror-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projg2%2Fcrate-dist-mirror-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projg2%2Fcrate-dist-mirror-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projg2%2Fcrate-dist-mirror-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projg2","download_url":"https://codeload.github.com/projg2/crate-dist-mirror-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projg2%2Fcrate-dist-mirror-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29244639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T21:00:43.743Z","status":"ssl_error","status_checked_at":"2026-02-08T20:59:20.374Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-02-08T21:18:40.195Z","updated_at":"2026-02-08T21:18:40.963Z","avatar_url":"https://github.com/projg2.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"==================================\nGentoo crate-dist mirroring action\n==================================\n\nThis is a GitHub action to maintain a \"crate-dist\" mirror. It fetches\nnew tags from upstream, adds a workflow based on ``crate-dist-action``\nand pushes them to the repository. This workflow creates a crate tarball\nusing pycargoebuild_, creates a release matching the tag and uploads\nthe crate tarball there.\n\nNote: due to technical limitations of GitHub, this action needs to push\nto the repository via SSH rather than HTTPS. Otherwise, the added\nworkflow is not triggered.\n\n.. _pycargoebuild: https://github.com/projg2/pycargoebuild/\n\n\nInputs\n------\n\nssh-private-key\n  The private key used to push to the repository. It needs to have write\n  access. Required.\n\ndirectories\n  Space-separated list of directories to pass to pycargoebuild.\n  Defaults to ``.`` (i.e. the top directory of the repository).\n\nrun-cargo-update\n  If ``true``, ``cargo update`` will be called in top-level directory\n  to create or update ``Cargo.lock``.  Defaults to ``false``.\n\ntag-filter\n  Bash pattern used to filter processed tags (matched against tag name,\n  without ``refs/tags/``).  The default is ``*``, i.e. match all tags.\n\nupstream-repo\n  URL to the upstream repository. Needed only when mirroring a non-GitHub\n  repository. When unset, the \"parent\" for the current repository will\n  be used (i.e. the repository it was forked from).\n\n\nUsage\n-----\n\n1. a. If source is on GitHub, fork it (include all branches, i.e. uncheck\n      the \"Copy the ``main`` branch only\" box).\n\n   b. Otherwise, use the \"Import repository\" function to create it.\n\n2. If the action is not being hosted in ``gentoo-crate-dist`` GitHub\n   organization:\n\n   a. Get a deployment SSH key. You can either create a dedicated deployment\n      key for the repository, or create a bot account with an associated key.\n\n   b. Add the public SSH key as deployment key for the repository with write\n      access, or give the bot user write access.\n\n   c. Add an Actions secret with the private SSH key.\n\n3. Create a new empty branch for the workflow::\n\n       git checkout --orphan crate-dist\n       git reset --hard\n\n4. Create a GitHub workflow for the mirroring (see `Example workflow`_),\n   commit it and push it.\n\n5. Switch the default branch on the repository to your newly created branch\n   (e.g. ``crate-dist``) and enable Actions.  This is necessary for scheduled\n   jobs to run.\n\n6. If you want crate dist created for an existing tag, remove it from\n   the mirror, and rerun the job.\n\n\nExample workflow\n----------------\n\n.. code-block:: yaml\n\n    name: Sync with upstream\n    on:\n      schedule:\n        - cron: \"12 * * * *\"\n      push:\n\n    jobs:\n      sync-mirror:\n        runs-on: ubuntu-latest\n        steps:\n          - name: Update mirror\n            uses: projg2/crate-dist-mirror-action@v2\n            with:\n              ssh-private-key: ${{ secrets.ssh_key }}\n              upstream-repo: https://gitlab.gnome.org/World/fractal.git\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojg2%2Fcrate-dist-mirror-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojg2%2Fcrate-dist-mirror-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojg2%2Fcrate-dist-mirror-action/lists"}