Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cross-rs/cross
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.14
Choose a base ref
...
head repository: cross-rs/cross
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.1.15
Choose a head ref

Commits on Nov 21, 2017

  1. switch to a -dev version

    japaric committed Nov 21, 2017
    Copy the full SHA
    94ab2ac View commit details

Commits on Dec 10, 2017

  1. Use -cpu n270 to run i686-linux-android tests

    After the ndk update used to build libstd
    rust-lang/rust#45580, i686-linux-android
    binaries stopped working #143.
    It's seem that the new toolchain is emitting instructions that the
    default qemu-i386 cpu does not support. Using -cpu n270 (common in
    android i686 phones), fix the problem.
    
    Fixes #143.
    malbarbo committed Dec 10, 2017
    Copy the full SHA
    41e27fe View commit details

Commits on Dec 11, 2017

  1. Auto merge of #170 - malbarbo:fix-i686-android, r=japaric

    Use -cpu n270 to run i686-linux-android binaries
    
    After the ndk update used to build libstd rust-lang/rust#45580, i686-linux-android binaries stopped working #143. It's seem that the new toolchain is emitting instructions that the default qemu-i386 cpu does not support. Using -cpu n270 (common in android i686 phones), fix the problem.
    
    Fixes #143.
    homunkulus committed Dec 11, 2017
    Copy the full SHA
    5f04770 View commit details

Commits on Jan 8, 2018

  1. macOS support.

    autozimu committed Jan 8, 2018
    Copy the full SHA
    c22c84f View commit details

Commits on Mar 6, 2018

  1. Update to 14.04 LTS.

    dvc94ch committed Mar 6, 2018
    Copy the full SHA
    d335c78 View commit details

Commits on Mar 10, 2018

  1. bors-ng integration

    japaric committed Mar 10, 2018
    Copy the full SHA
    ecc1180 View commit details
  2. bors: increase the timeout

    japaric committed Mar 10, 2018
    Copy the full SHA
    a5fac28 View commit details

Commits on Mar 13, 2018

  1. Fix a typo in the README

    dwijnand authored Mar 13, 2018
    Copy the full SHA
    3612d9b View commit details
  2. Merge pull request #184 from dwijnand/patch-1

    Fix a typo in the README
    jamesmunns authored Mar 13, 2018
    Copy the full SHA
    850fbd1 View commit details

Commits on Mar 28, 2018

  1. Merge pull request #182 from dvc94ch/lts-14.04

    Update to 14.04 LTS.
    Dylan-DPC authored Mar 28, 2018
    Copy the full SHA
    1475d1c View commit details
  2. Copy the full SHA
    6918a42 View commit details
  3. Merge pull request #188 from japaric/revert-182-lts-14.04

    Revert "Update to 14.04 LTS."
    japaric authored Mar 28, 2018
    Copy the full SHA
    2af453d View commit details

Commits on Mar 29, 2018

  1. Add C++ support for BSDs and Solaris

    The g++ is already built, but is not referenced as a environment variable.
    Adds the missing environment variables and documents them in README.
    bgermann committed Mar 29, 2018
    Copy the full SHA
    ca5a61c View commit details

Commits on Apr 2, 2018

  1. Merge pull request #190 from bgermann/cpp

    Add C++ support for BSDs and Solaris
    Dylan-DPC authored Apr 2, 2018
    Copy the full SHA
    3502de4 View commit details

Commits on Jul 2, 2018

  1. Update dependecies

    malbarbo committed Jul 2, 2018
    Copy the full SHA
    6948871 View commit details
  2. Fix lint name error

    malbarbo committed Jul 2, 2018
    Copy the full SHA
    b7d1223 View commit details
  3. Fix xargo build

    malbarbo committed Jul 2, 2018
    Copy the full SHA
    eb1c79b View commit details
  4. Copy the full SHA
    4dd9e6a View commit details
  5. Fix compiler-builtins test

    malbarbo committed Jul 2, 2018
    Copy the full SHA
    2da089f View commit details
  6. Copy the full SHA
    ea6b2b4 View commit details
  7. Copy the full SHA
    1a55ac8 View commit details
  8. Copy the full SHA
    500bba6 View commit details
  9. Update netbsd patch urls

    malbarbo committed Jul 2, 2018
    Copy the full SHA
    3b162e2 View commit details
  10. Copy the full SHA
    c903903 View commit details
  11. Copy the full SHA
    c87cdc2 View commit details
  12. Copy the full SHA
    cc0e75c View commit details

Commits on Aug 7, 2018

  1. Copy the full SHA
    dda8794 View commit details
  2. Copy the full SHA
    b5732c1 View commit details

Commits on Aug 8, 2018

  1. fix CODEOWNERS

    japaric committed Aug 8, 2018
    Copy the full SHA
    6729503 View commit details

Commits on Aug 12, 2018

  1. tweak bors.toml

    japaric committed Aug 12, 2018
    Copy the full SHA
    d248721 View commit details

Commits on Sep 28, 2018

  1. Copy the full SHA
    6959ee0 View commit details
  2. Copy the full SHA
    de27cd3 View commit details

Commits on Oct 4, 2018

  1. Copy the full SHA
    e22a562 View commit details

Commits on Oct 8, 2018

  1. Merge #206

    206: Fix build issues r=jamesmunns a=malbarbo
    
    This fixes almost all current build issues.  Only two issues are left:
    
    - thumb* tests, which requires using https://github.com/japaric/utest instead of https://github.com/japaric/cortest
    - netbsd build, which is failing with libc linking issues
    
    Co-authored-by: Marco A L Barbosa <malbarbo@gmail.com>
    bors[bot] and malbarbo committed Oct 8, 2018
    Copy the full SHA
    91dd60f View commit details
  2. Upgrade OpenSSL to 1.0.2p

    bgermann committed Oct 8, 2018
    Copy the full SHA
    284cdb1 View commit details
  3. add travis to readme

    Dylan-DPC authored Oct 8, 2018
    Copy the full SHA
    b447d0a View commit details
  4. Copy the full SHA
    651afaf View commit details
  5. Merge #165

    165: Upgrade CMake to at least 3.5.1 on all images r=Dylan-DPC a=Bobo1239
    
    I'm currently writing Rust bindings for a C project which only supports CMake >= 3.1. I've choosen 3.5.1 as that is the version which is available on Ubuntu 16.04.
    
    Co-authored-by: Boris-Chengbiao Zhou <bobo1239@web.de>
    bors[bot] and Bobo1239 committed Oct 8, 2018
    Copy the full SHA
    754f752 View commit details
  6. Merge #215

    215: add travis to readme r=Dylan-DPC a=Dylan-DPC
    
    Add travis badge to readme
    
    Co-authored-by: Dylan DPC <dylan.dpc@gmail.com>
    bors[bot] and Dylan-DPC committed Oct 8, 2018
    Copy the full SHA
    5d9ab90 View commit details

Commits on Oct 9, 2018

  1. Copy the full SHA
    8f0ea92 View commit details
  2. Merge #214

    214: Upgrade OpenSSL to 1.0.2p r=jamesmunns a=bgermann
    
    
    
    Co-authored-by: bgermann <bgermann@users.noreply.github.com>
    bors[bot] and bgermann committed Oct 9, 2018
    Copy the full SHA
    65db4ac View commit details
  3. Simplify Target to use only to cases: BuiltIn and Custom

    In the current form, cross needs to known every target its supports.
    This makes things too restrict. For example, its not possible to use a
    custom target image for a target that cross does not provides a docker
    image (like aarch64-unknown-linux-musl, for example). Cross refuses to
    execute saying it does not support the specified target. Besides that,
    to add a new docker image the cross code needs to be changed.
    
    This changes simplifies the Target enum to have only two variants:
    BuiltIn and Custom. Cross needs to known if a target is a custom target
    so it can call xargo, otherwise, all BuitIn targets can be uniformly
    handled.
    malbarbo committed Oct 9, 2018
    Copy the full SHA
    f38ea4b View commit details

Commits on Oct 11, 2018

  1. Xargo is needed if the target is not available on rustup

    This adjust AvaliableTargets to separate installed and not
    installed targets so we do not attempt to install a installed
    target.
    malbarbo committed Oct 11, 2018
    Copy the full SHA
    6fa1542 View commit details
  2. dragonfly is a kind of bsd.

    malbarbo committed Oct 11, 2018
    Copy the full SHA
    29bc75d View commit details
  3. Merge #217

    217: Simplify Target to use only to cases: BuiltIn and Custom r=Dylan-DPC a=malbarbo
    
    In the current form, cross needs to known every target its supports.
    This makes things too restrict. For example, its not possible to use a
    custom target image for a target that cross does not provides a docker
    image (like aarch64-unknown-linux-musl, for example). Cross refuses to
    execute saying it does not support the specified target. Besides that,
    to add a new docker image the cross code needs to be changed.
    
    This changes simplifies the Target enum to have only two variants:
    BuiltIn and Custom. Cross needs to known if a target is a custom target
    so it can call xargo, otherwise, all BuitIn targets can be uniformly
    handled.
    
    Co-authored-by: Marco A L Barbosa <malbarbo@gmail.com>
    bors[bot] and malbarbo committed Oct 11, 2018
    Copy the full SHA
    1e40e45 View commit details

Commits on Oct 12, 2018

  1. Add sh and toolbox binaries to android system image

    Also disable AT_SECURE check and create /system/etc/hosts
    malbarbo committed Oct 12, 2018
    Copy the full SHA
    73ced1e View commit details
  2. Remove AT_SECURE qemu android patch

    We patch the android linker instead
    malbarbo committed Oct 12, 2018
    Copy the full SHA
    d3b4715 View commit details
  3. Update android images

    - Set ANDROID_DNS_MODE=local, this allows localhost to be resolved
    - Copy libz.so to /system/lib/
    - Set DEP_Z_INCLUDE instance of DEP_Z_ROOT (allow cargo tests to run)
    malbarbo committed Oct 12, 2018
    Copy the full SHA
    ee149e2 View commit details

Commits on Oct 13, 2018

  1. Update musl and use musl-cross-make to build all musl toochains

    This allows an uniform treatment of all musl targets.
    
    This also includes:
    
    - Add openssl to arm-unknown-linux-musleabi and armv7-unknown-linux-musleabihf
    - Update Ubuntu to 18.04
    - Update musl to 1.1.20
    malbarbo committed Oct 13, 2018
    Copy the full SHA
    f1febb3 View commit details
  2. Copy the full SHA
    8dc38e3 View commit details
Showing with 2,769 additions and 1,306 deletions.
  1. +1 −0 .github/CODEOWNERS
  2. +5 −0 .github/bors.toml
  3. +0 −120 .travis.yml
  4. +29 −15 CHANGELOG.md
  5. +37 −0 CODE_OF_CONDUCT.md
  6. +106 −72 Cargo.lock
  7. +19 −9 Cargo.toml
  8. +84 −67 README.md
  9. +108 −0 azure-pipelines.yml
  10. +24 −11 build-docker-image.sh
  11. +23 −1 build.rs
  12. +0 −19 ci/after_success.sh
  13. +30 −0 ci/azure-install-rust.yml
  14. +0 −20 ci/before_deploy.sh
  15. +8 −0 ci/build_release.sh
  16. +11 −0 ci/docker_push.sh
  17. +0 −183 ci/script.sh
  18. +239 −0 ci/test.sh
  19. +20 −9 docker/{aarch64-linux-android/Dockerfile → Dockerfile.aarch64-linux-android}
  20. +29 −6 docker/{aarch64-unknown-linux-gnu/Dockerfile → Dockerfile.aarch64-unknown-linux-gnu}
  21. +48 −0 docker/Dockerfile.aarch64-unknown-linux-musl
  22. +20 −9 docker/{arm-linux-androideabi/Dockerfile → Dockerfile.arm-linux-androideabi}
  23. +13 −1 docker/{arm-unknown-linux-gnueabi/Dockerfile → Dockerfile.arm-unknown-linux-gnueabi}
  24. +53 −0 docker/Dockerfile.arm-unknown-linux-gnueabihf
  25. +49 −0 docker/Dockerfile.arm-unknown-linux-musleabi
  26. +50 −0 docker/Dockerfile.arm-unknown-linux-musleabihf
  27. +49 −0 docker/Dockerfile.armv5te-unknown-linux-musleabi
  28. +20 −9 docker/{armv7-linux-androideabi/Dockerfile → Dockerfile.armv7-linux-androideabi}
  29. +27 −8 docker/{armv7-unknown-linux-gnueabihf/Dockerfile → Dockerfile.armv7-unknown-linux-gnueabihf}
  30. +49 −0 docker/Dockerfile.armv7-unknown-linux-musleabihf
  31. +9 −1 docker/{asmjs-unknown-emscripten/Dockerfile → Dockerfile.asmjs-unknown-emscripten}
  32. +9 −5 docker/{i586-unknown-linux-gnu/Dockerfile → Dockerfile.i586-unknown-linux-gnu}
  33. +34 −0 docker/Dockerfile.i586-unknown-linux-musl
  34. +23 −11 docker/{i686-linux-android/Dockerfile → Dockerfile.i686-linux-android}
  35. +12 −5 docker/{i686-pc-windows-gnu/Dockerfile → Dockerfile.i686-pc-windows-gnu}
  36. +10 −1 docker/{i686-unknown-freebsd/Dockerfile → Dockerfile.i686-unknown-freebsd}
  37. +47 −0 docker/Dockerfile.i686-unknown-linux-gnu
  38. +34 −0 docker/Dockerfile.i686-unknown-linux-musl
  39. +25 −6 docker/{mips-unknown-linux-gnu/Dockerfile → Dockerfile.mips-unknown-linux-gnu}
  40. +48 −0 docker/Dockerfile.mips-unknown-linux-musl
  41. +9 −1 docker/{mips64-unknown-linux-gnuabi64/Dockerfile → Dockerfile.mips64-unknown-linux-gnuabi64}
  42. +25 −6 docker/{mips64el-unknown-linux-gnuabi64/Dockerfile → Dockerfile.mips64el-unknown-linux-gnuabi64}
  43. +25 −6 docker/{mipsel-unknown-linux-gnu/Dockerfile → Dockerfile.mipsel-unknown-linux-gnu}
  44. +47 −0 docker/Dockerfile.mipsel-unknown-linux-musl
  45. +30 −7 docker/{powerpc-unknown-linux-gnu/Dockerfile → Dockerfile.powerpc-unknown-linux-gnu}
  46. +25 −6 docker/{powerpc64-unknown-linux-gnu/Dockerfile → Dockerfile.powerpc64-unknown-linux-gnu}
  47. +25 −6 docker/{powerpc64le-unknown-linux-gnu/Dockerfile → Dockerfile.powerpc64le-unknown-linux-gnu}
  48. +25 −6 docker/{s390x-unknown-linux-gnu/Dockerfile → Dockerfile.s390x-unknown-linux-gnu}
  49. +25 −6 docker/{sparc64-unknown-linux-gnu/Dockerfile → Dockerfile.sparc64-unknown-linux-gnu}
  50. +10 −1 docker/{sparcv9-sun-solaris/Dockerfile → Dockerfile.sparcv9-sun-solaris}
  51. +9 −1 docker/{thumbv6m-none-eabi/Dockerfile → Dockerfile.thumbv6m-none-eabi}
  52. +9 −1 docker/{thumbv7em-none-eabi/Dockerfile → Dockerfile.thumbv7em-none-eabi}
  53. +9 −1 docker/{thumbv7em-none-eabihf/Dockerfile → Dockerfile.thumbv7em-none-eabihf}
  54. +9 −1 docker/{thumbv7m-none-eabi/Dockerfile → Dockerfile.thumbv7m-none-eabi}
  55. +9 −1 docker/{wasm32-unknown-emscripten/Dockerfile → Dockerfile.wasm32-unknown-emscripten}
  56. +23 −6 docker/{x86_64-linux-android/Dockerfile → Dockerfile.x86_64-linux-android}
  57. +12 −5 docker/{x86_64-pc-windows-gnu/Dockerfile → Dockerfile.x86_64-pc-windows-gnu}
  58. +10 −1 docker/{x86_64-sun-solaris/Dockerfile → Dockerfile.x86_64-sun-solaris}
  59. +10 −1 docker/{x86_64-unknown-dragonfly/Dockerfile → Dockerfile.x86_64-unknown-dragonfly}
  60. +10 −1 docker/{x86_64-unknown-freebsd/Dockerfile → Dockerfile.x86_64-unknown-freebsd}
  61. +48 −0 docker/Dockerfile.x86_64-unknown-linux-gnu
  62. +34 −0 docker/Dockerfile.x86_64-unknown-linux-musl
  63. +10 −1 docker/{x86_64-unknown-netbsd/Dockerfile → Dockerfile.x86_64-unknown-netbsd}
  64. +31 −10 docker/android-system.sh
  65. +0 −24 docker/arm-unknown-linux-musleabi/Dockerfile
  66. +0 −24 docker/armv7-unknown-linux-musleabihf/Dockerfile
  67. +2 −2 docker/cmake.sh
  68. +2 −1 docker/dragonfly.sh
  69. +57 −0 docker/dropbear.sh
  70. +2 −2 docker/emscripten.sh
  71. +5 −1 docker/freebsd.sh
  72. +0 −26 docker/i686-unknown-linux-gnu/Dockerfile
  73. +0 −29 docker/i686-unknown-linux-musl/Dockerfile
  74. +254 −0 docker/linux-image.sh
  75. +163 −0 docker/linux-runner
  76. +17 −19 docker/mingw.sh
  77. +0 −32 docker/musl-gcc.specs.x86_64-unknown-linux-musl
  78. +0 −2 docker/musl-gcc.x86_64-unknown-linux-musl
  79. +24 −22 docker/musl.sh
  80. +3 −2 docker/netbsd.sh
  81. +1 −1 docker/openssl.sh
  82. +32 −74 docker/qemu.sh
  83. +20 −7 docker/solaris.sh
  84. +1 −1 docker/windows-entry.sh
  85. +0 −27 docker/x86_64-unknown-linux-gnu/Dockerfile
  86. +0 −24 docker/x86_64-unknown-linux-musl/Dockerfile
  87. +7 −2 src/cargo.rs
  88. +62 −27 src/docker.rs
  89. +1 −1 src/errors.rs
  90. +62 −7 src/id.rs
  91. +113 −262 src/main.rs
  92. +7 −2 src/rustc.rs
  93. +53 −22 src/rustup.rs
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @rust-embedded/tools @Dylan-DPC @jamesmunns
5 changes: 5 additions & 0 deletions .github/bors.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
block_labels = ["needs-decision"]
delete_merged_branches = true
required_approvals = 1
status = ["rust-embedded.cross"]
timeout_sec = 21600
120 changes: 0 additions & 120 deletions .travis.yml

This file was deleted.

44 changes: 29 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -5,6 +5,19 @@ This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [v0.1.15] - 2019-09-04

- Images are now hosted at https://hub.docker.com/r/rustembedded/cross.
- Bump OpenSSL version to 1.0.2p.
- Bump musl version to 1.1.20.
- Bump Ubuntu to 18.04 to all musl targets.
- Bump gcc version to 6.3.0 for all musl targets.
- OpenSSL support for the `arm-unknown-linux-musleabi` target.
- OpenSSL support for the `armv7-unknown-linux-musleabihf` target.
- Build and test support for `aarch64-unknown-linux-musl`, `arm-unknown-linux-musleabihf`,
`armv5te-unknown-linux-musleabi`, `i586-unknown-linux-musl`, `mips-unknown-linux-musl`,
add `mipsel-unknown-linux-musl` targets.

## [v0.1.14] - 2017-11-22

### Added
@@ -196,18 +209,19 @@ This project adheres to [Semantic Versioning](http://semver.org/).

- Initial release. Supports 12 targets.

[Unreleased]: https://github.com/japaric/cross/compare/v0.1.14...HEAD
[v0.1.14]: https://github.com/japaric/cross/compare/v0.1.13...v0.1.14
[v0.1.13]: https://github.com/japaric/cross/compare/v0.1.12...v0.1.13
[v0.1.12]: https://github.com/japaric/cross/compare/v0.1.11...v0.1.12
[v0.1.11]: https://github.com/japaric/cross/compare/v0.1.10...v0.1.11
[v0.1.10]: https://github.com/japaric/cross/compare/v0.1.9...v0.1.10
[v0.1.9]: https://github.com/japaric/cross/compare/v0.1.8...v0.1.9
[v0.1.8]: https://github.com/japaric/cross/compare/v0.1.7...v0.1.8
[v0.1.7]: https://github.com/japaric/cross/compare/v0.1.6...v0.1.7
[v0.1.6]: https://github.com/japaric/cross/compare/v0.1.5...v0.1.6
[v0.1.5]: https://github.com/japaric/cross/compare/v0.1.4...v0.1.5
[v0.1.4]: https://github.com/japaric/cross/compare/v0.1.3...v0.1.4
[v0.1.3]: https://github.com/japaric/cross/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/japaric/cross/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/japaric/cross/compare/v0.1.0...v0.1.1
[Unreleased]: https://github.com/rust-embedded/cross/compare/v0.1.15...HEAD
[v0.1.15]: https://github.com/rust-embedded/cross/compare/v0.1.14...v0.1.15
[v0.1.14]: https://github.com/rust-embedded/cross/compare/v0.1.13...v0.1.14
[v0.1.13]: https://github.com/rust-embedded/cross/compare/v0.1.12...v0.1.13
[v0.1.12]: https://github.com/rust-embedded/cross/compare/v0.1.11...v0.1.12
[v0.1.11]: https://github.com/rust-embedded/cross/compare/v0.1.10...v0.1.11
[v0.1.10]: https://github.com/rust-embedded/cross/compare/v0.1.9...v0.1.10
[v0.1.9]: https://github.com/rust-embedded/cross/compare/v0.1.8...v0.1.9
[v0.1.8]: https://github.com/rust-embedded/cross/compare/v0.1.7...v0.1.8
[v0.1.7]: https://github.com/rust-embedded/cross/compare/v0.1.6...v0.1.7
[v0.1.6]: https://github.com/rust-embedded/cross/compare/v0.1.5...v0.1.6
[v0.1.5]: https://github.com/rust-embedded/cross/compare/v0.1.4...v0.1.5
[v0.1.4]: https://github.com/rust-embedded/cross/compare/v0.1.3...v0.1.4
[v0.1.3]: https://github.com/rust-embedded/cross/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/rust-embedded/cross/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/rust-embedded/cross/compare/v0.1.0...v0.1.1
37 changes: 37 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# The Rust Code of Conduct

## Conduct

**Contact**: [Tools team]

* We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
* On IRC, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe and welcoming environment for all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
* Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
* We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term "harassment" as including the definition in the [Citizen Code of Conduct](http://citizencodeofconduct.org/); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behavior that excludes people in socially marginalized groups.
* Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or any of the [Tools team][team] immediately. Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back.
* Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.

## Moderation

These are the policies for upholding our community's standards of conduct.

1. Remarks that violate the Rust standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
3. Moderators will first respond to such remarks with a warning.
4. If the warning is unheeded, the user will be "kicked," i.e., kicked out of the communication channel to cool off.
5. If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology.
7. If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, **in private**. Complaints about bans in-channel are not allowed.
8. Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others.

In the Rust community we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self. In particular, avoid flirting with offensive or sensitive issues, particularly if they're off-topic; this all too often leads to unnecessary fights, hurt feelings, and damaged trust; worse, it can drive people away from the community entirely.

And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could've communicated better — remember that it's your responsibility to make your fellow Rustaceans comfortable. Everyone wants to get along and we are all here first and foremost because we want to talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust.

The enforcement policies listed above apply to all official embedded WG venues; including official IRC channels (#rust-embedded); GitHub repositories under rust-embedded; and all forums under rust-embedded.org (forum.rust-embedded.org).

*Adapted from the [Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling) as well as the [Contributor Covenant v1.3.0](https://www.contributor-covenant.org/version/1/3/0/).*

[team]: https://github.com/rust-embedded/wg#the-Tools-team
Loading