{"id":13438243,"url":"https://github.com/japaric/trust","last_synced_at":"2025-05-16T18:05:44.843Z","repository":{"id":11393160,"uuid":"69531480","full_name":"japaric/trust","owner":"japaric","description":"Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows","archived":false,"fork":false,"pushed_at":"2022-11-15T10:28:53.000Z","size":102,"stargazers_count":1270,"open_issues_count":40,"forks_count":59,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-03T17:11:43.350Z","etag":null,"topics":["bsd","continuous-integration","cross-compilation","cross-testing","linux","macos","rust","template","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/japaric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-29T04:44:25.000Z","updated_at":"2025-04-03T08:52:10.000Z","dependencies_parsed_at":"2023-01-11T18:06:02.896Z","dependency_job_id":null,"html_url":"https://github.com/japaric/trust","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japaric%2Ftrust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japaric%2Ftrust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japaric%2Ftrust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/japaric%2Ftrust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/japaric","download_url":"https://codeload.github.com/japaric/trust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248597770,"owners_count":21130944,"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":["bsd","continuous-integration","cross-compilation","cross-testing","linux","macos","rust","template","windows"],"created_at":"2024-07-31T03:01:03.938Z","updated_at":"2025-04-12T16:38:27.077Z","avatar_url":"https://github.com/japaric.png","language":"Shell","readme":"# `trust`\n\n\u003e Travis CI and AppVeyor template to test your Rust crate on 5 architectures\n\u003e and publish [binary releases] of it for Linux, macOS and Windows\n\n[binary releases]: https://github.com/japaric/trust/releases\n\n### Features\n\n- CI test your crate (library or binary) on Linux, macOS and Windows and on more\n  than just the x86 architecture.\n\n- Cargo artifacts are cached and reused between CI builds.\n\n- \"Deploys\": Publish binary releases of your application by just pushing a new\n  (Git) tag.\n\n## Requirements\n\n- Your crate must be hosted on GitHub (free).\n\n- A [Travis CI](https://travis-ci.org/) account (free).\n\n- An [AppVeyor](https://www.appveyor.com/) account (free).\n\n## How-to\n\n### Use this template\n\nCopy the `ci` directory, and the `.travis.yml` and `appveyor.yml` files into the\nrepository where you host your Rust crate.\n\nYou'll have to adjust those files to meet your needs. Just look inside those\nfiles for comments that start with the word `TODO`; they'll tell you want needs\nto be changed.\n\nThis is an overview of what must / can be changed:\n\n- The GitHub token used for deploys.\n\n- The list of test targets. Trim it down to reduce test times.\n\n- The Rust channel used for testing / deploys.\n\n- The \"test phase\". Tweak how your crate is tested.\n\n- the \"package phase\". Tweak what goes into the release tarball / zipfile.\n\n### Generate binary releases\n\nYou only need to push an **annotated** tag to kick off the build process.\n\n```\n# Optional: Publish a new version of your crate to crates.io\n$ cargo publish\n\n$ git tag -a $TAG\n\n$ git push origin $TAG\n```\n\n### Use the binary releases on Travis CI\n\nThere's\nan [`install.sh`](https://github.com/japaric/trust/blob/gh-pages/install.sh)\nscript that you can use to quickly install a binary release produced using this\nCI template.\n\n```\n$ curl -LSfs https://japaric.github.io/trust/install.sh | \\\n    sh -s -- --git japaric/cross\n```\n\nFor more details about this installation script see `install.sh -h`\n\n### How to disable deploys?\n\nIf you don't want to generate binary releases at all, perhaps because your Cargo\nproject is a library or you only want to test your project, then you can simply\nchange `deploy.on.condition`, in `.travis.yml`, and `deploy.on`, in\n`appveyor.yml`, to always be false. For example:\n\n``` yml\n# .travis.yml\ndeploy:\n  on:\n    condition: $DEPLOY = never\n```\n\n### How to upgrade your CI configuration?\n\nFirst, figure out which version of the trust template you are using. The version\nis written in the header of the `.travis.yml` and `appveyor.yml` files. If\nthere's no header, that means you are using version `v0.1.0`.\n\nNext, look at the [change log](CHANGELOG.md) to check if there's a new release\nand to learn, at a high level, how the template has changed: what has been\nfixed, what has been added, etc.\n\nIf it makes sense for you to upgrade, you can see the required \"code\" changes by\nlooking at the \"diff\" between the version you are using and the version you are\ngoing to upgrade to. For example:\n\nhttps://github.com/japaric/trust/compare/v0.1.0...v0.1.1\n\nAs for the upgrade itself, GitHub can generate a patch from the above diff that\nthen you can apply to your repository with `git am` or similar:\n\nhttps://github.com/japaric/trust/compare/v0.1.0...v0.1.1.patch\n\n## Supported targets\n\n### Linux\n\nCourtesy of [`cross`](https://github.com/japaric/cross).\n\nIf you run into any problem with any of these targets, report them\nto [`cross`'s issue tracker](https://github.com/japaric/cross/issues) but first\ncheck if using a newer release (see `ci/install.sh`)\nwould\n[fix your problem](https://github.com/japaric/cross/blob/master/CHANGELOG.md).\n\n### Android\n\n- aarch64-linux-android\n\n- arm-linux-androideabi\n\n- armv7-linux-androideabi\n\n- i686-linux-android\n\n- x86_64-linux-android\n\n### iOS\n\n- aarch64-apple-ios\n\n- armv7-apple-ios\n\n- armv7s-apple-ios\n\n- i386-apple-ios\n\n- x86_64-apple-ios\n\n### Linux\n\n- `i686-unknown-linux-gnu`\n\n- `i686-unknown-linux-musl`\n\n- `x86_64-unknown-linux-gnu`\n\n- `x86_64-unknown-linux-musl`\n\n- `aarch64-unknown-linux-gnu`\n\n- `arm-unknown-linux-gnueabi`\n\n- `armv7-unknown-linux-gnueabihf`\n\n- `mips-unknown-linux-gnu`\n\n- `mips64-unknown-linux-gnuabi64`\n\n- `mips64el-unknown-linux-gnuabi64`\n\n- `mipsel-unknown-linux-gnu`\n\n- `powerpc-unknown-linux-gnu`\n\n- `powerpc64-unknown-linux-gnu`\n\n- `powerpc64le-unknown-linux-gnu`\n\n- `s390x-unknown-linux-gnu`\n\n### macOS\n\n- `i686-apple-darwin`\n\n- `x86_64-apple-darwin`\n\n### *BSD\n\n- `i686-unknown-freebsd`\n\n- `x86_64-unknown-freebsd`\n\n- `x86_64-unknown-netbsd`\n\n### Windows (MinGW)\n\n- `i686-pc-windows-gnu`\n\n- `x86_64-pc-windows-gnu`\n\n### Windows (MSVC)\n\n- `i686-pc-windows-msvc`\n\n- `x86_64-pc-windows-msvc`\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or\n  https://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","funding_links":[],"categories":["Development tools","Shell","开发工具 Development tools","开发工具"],"sub_categories":["Testing","测试 Testing","测试"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaparic%2Ftrust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaparic%2Ftrust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaparic%2Ftrust/lists"}