All Projects → japaric-archived → Rust Everywhere

japaric-archived / Rust Everywhere

Licence: other
SUPERSEDED by https://github.com/japaric/trust

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Rust Everywhere

Deprecated Dataapis
Markit On Demand - Market Data APIs
Stars: ✭ 181 (-28.46%)
Mutual labels:  deprecated
Bower Components
[DEPRECATED] Site to discover Bower components
Stars: ✭ 220 (-13.04%)
Mutual labels:  deprecated
Angular2 Adminlte
DEPRECATED An Angular 4 version of the AdminLTE theme
Stars: ✭ 239 (-5.53%)
Mutual labels:  deprecated
Laravel Angular
(deprecated) Laravel & Angular package
Stars: ✭ 187 (-26.09%)
Mutual labels:  deprecated
Python Onedrive
Obsolete python/cli module for MS SkyDrive/OneDrive's old API, do not use for new projects
Stars: ✭ 202 (-20.16%)
Mutual labels:  deprecated
Dagre D3
⛔ [DEPRECATED] - A D3-based renderer for Dagre
Stars: ✭ 2,648 (+946.64%)
Mutual labels:  deprecated
Rxloader
DEPRECATED data loading solution for android to load data with no memory leaks, no boiler-plate, and no method count bloat
Stars: ✭ 174 (-31.23%)
Mutual labels:  deprecated
Deep Assign
[DEPRECATED] Recursive Object.assign()
Stars: ✭ 249 (-1.58%)
Mutual labels:  deprecated
Grunt Recess
[DEPRECATED] Lint and minify CSS and LESS
Stars: ✭ 205 (-18.97%)
Mutual labels:  deprecated
Webview In Coordinatorlayout
Stars: ✭ 238 (-5.93%)
Mutual labels:  deprecated
Sketch Toolbox
DEPRECATED: A plugin manager for Sketch.app
Stars: ✭ 2,159 (+753.36%)
Mutual labels:  deprecated
Box
[DEPRECATED] Official, pre-packaged Vagrant Box
Stars: ✭ 197 (-22.13%)
Mutual labels:  deprecated
Sphero Ios Sdk
🚫 DEPRECATED: Sphero™ is the amazing robotic ball ( sphero.com ) created by Orbotix, this is the repository for the iOS SDK for Sphero™. Visit dev site for more information:
Stars: ✭ 232 (-8.3%)
Mutual labels:  deprecated
Let Er
DEPRECATED: Transpile non-ES6 let-blocks into ES6 (or ES3)
Stars: ✭ 183 (-27.67%)
Mutual labels:  deprecated
Sabayon
DEPRECATED. DO NOT USE.
Stars: ✭ 240 (-5.14%)
Mutual labels:  deprecated
Node Airbrake
node-airbrake is no longer maintained. Please visit https://airbrake.io/docs/performance-monitoring/updating-from-deprecated-libraries-for-node/
Stars: ✭ 179 (-29.25%)
Mutual labels:  deprecated
Govuk elements
❗️GOV.UK Elements is deprecated, and will only receive major bug fixes and security patches.
Stars: ✭ 226 (-10.67%)
Mutual labels:  deprecated
Ezpublish Legacy
eZ Publish (aka "legacy kernel" + 3 core "legacy extensions") NOTE: Succeeded by eZ Platform, no further feature releases planned.
Stars: ✭ 251 (-0.79%)
Mutual labels:  deprecated
Afterglow
HTML5 video player made easy.
Stars: ✭ 244 (-3.56%)
Mutual labels:  deprecated
Liteaccordion
A lightweight horizontal accordion plugin for jQuery.
Stars: ✭ 234 (-7.51%)
Mutual labels:  deprecated

Status

This project has been SUPERSEDED by trust, another CI template, and won't received updates or bug fixes.

Why

trust makes things simpler and better because it's based on the cross tool. Among the advantages we have:

  • It's easy to run the test script locally (on Linux). No need to install cross toolchains or other foreign stuff, simply install cross and, for example, call TARGET=aarch64-unknown-linux-gnu sh ci/script.sh.

  • Painless upgrades. Most upgrades, to get support for new targets or to fix cross compilation problems related to C dependencies, will pretty much only involve bumping the version of the cross tool rather than more invasive changes to .travis.yml or to the scripts in the ci directory.

  • Support for more targets / architectures. trust supports x86, ARM, MIPS, PowerPC and SystemZ.

  • The CI scripts are simpler as the requirements for cross compilation are handled by cross and don't show up in the CI scripts.

-- @japaric, 2017-01-03


Travis Appveyor

rust-everywhere

Use CI services to generate binary releases of your Rust program for Linux, Mac and Windows

This repository has configured Travis CI and AppVeyor to generate binary releases, in both tarball/zipfile and deb (*) format, of a Cargo project (in this example, a variation of hello world) for all the tier 1 platforms and some lower tier platforms whenever a new git tag is pushed.

(*) .deb support is minimal right now: you can only package binaries and not, for example, store information about dependencies. If you need more features in this area open an issue to let me know!

Supported targets

The current CI configuration builds, tests and generates binary releases for the following targets:

  • aarch64-unknown-linux-gnu. (Linux on 64-bit ARM) WARNING Experimental target. Tests are executed using qemu user emulation, but this approach has problems when too many threads are spawned.
  • armv7-unknown-linux-gnueabihf (Linux on 32-bit ARM). WARNING Experimental target. Tests are executed using qemu user emulation, but this approach has problems when too many threads are spawned.
  • i686-apple-darwin (32-bit OSX)
  • i686-pc-windows-gnu (32-bit Windows, MinGW)
  • i686-pc-windows-msvc (32-bit Windows, MSVC)
  • i686-unknown-linux-gnu (32-bit Linux)
  • i686-unknown-linux-musl. (32-bit Linux, statically linked binaries)
  • x86_64-apple-darwin (64-bit OSX)
  • x86_64-pc-windows-gnu (64-bit Windows, MinGW)
  • x86_64-pc-windows-msvc (64-bit Windows, MSVC)
  • x86_64-unknown-linux-gnu (64-bit Linux)
  • x86_64-unknown-linux-musl. (64-bit Linux, statically linked binaries)

How to use

You can use this CI configuration, as a starting point, in your project by copying the .travis.yml and appveyor.yml files and the ci directory in your project repository. And then customizing the configuration for your needs by implementing all the TODOs contained in those files.

All these aspects can be configured:

  • Test on any combinations of these channels: stable, beta and nightly.
  • Deploy on one of these channels: stable, beta and nightly.
  • The contents of the release tarball/zipfile
  • CI phases like install and script
  • Metadata of the .deb packages.

Once configured, simply push a new git tag to build a new binary release:

$ git tag v1.2.3
$ git push --tags

You should see the release tarballs/zipfiles under your project's 'releases' page.

How do I install/uninstall these binary releases?

Examples:

Tarball/zipfiles

# Install
$ curl -OL https://github.com/japaric/rust-everywhere/releases/download/v0.1.41/rust-everywhere-v0.1.41-x86_64-unknown-linux-gnu.tar.gz
$ tar xzf rust-everywhere-v0.1.41-x86_64-unknown-linux-gnu.tar.gz
$ sudo cp hello /usr/local/bin/

# Test the program
$ hello
0.1.41: x86_64-unknown-linux-gnu says hello!
Compiled with rust-1.8.0 (Stable channel)

# Uninstall
$ sudo rm /usr/local/bin/hello

.deb packages

# Install
$ curl -OL https://github.com/japaric/rust-everywhere/releases/download/v0.1.41/rust-everywhere-v0.1.41-x86_64-unknown-linux-gnu.deb
$ dpkg -i rust-everywhere-v0.1.41-x86_64-unknown-linux-gnu.deb
Selecting previously unselected package rust-everywhere.
(Reading database ... 12398 files and directories currently installed.)
Preparing to unpack rust-everywhere-v0.1.41-x86_64-unknown-linux-gnu.deb ...
Unpacking rust-everywhere (0.1.41) ...
Setting up rust-everywhere (0.1.41) ...

# Test the program
$ hello
0.1.41: x86_64-unknown-linux-gnu says hello!
Compiled with rust-1.8.0 (Stable channel)

# Uninstall
# dpkg -r rust-everywhere
(Reading database ... 12399 files and directories currently installed.)
Removing rust-everywhere (0.1.41) ...

Using a binary release with Travis CI

If you want to use a binary release generated by rust-everywhere (to save time by not having to call cargo install) on a Travis build job, you can use the install.sh script contained in this repository and use it like this in your Travis configuration:

install:
  - curl -sf "https://raw.githubusercontent.com/japaric/rust-everywhere/master/install.sh" | bash -s -- --from azerupi/mdBook --tag 0.0.11-rc1

Check the script for more information about its usage. The script is not very good at handling errors so use it with care ;-).

Known issues

  • The Cargo project must be hosted on GitHub. I know GitLab also has a "releases" feature but I don't know if it can be integrated with Travis CI and/or AppVeyor. AFAICT Bitbucket has no "releases" equivalent. And IDK about other git hosting solutions.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].