Skip to content

Azure Pipelines configuration #346

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Jun 28, 2020
Merged

Azure Pipelines configuration #346

merged 23 commits into from
Jun 28, 2020

Conversation

iceiix
Copy link
Owner

@iceiix iceiix commented Jun 28, 2020

Setup https://github.com/marketplace/azure-pipelines. The main advantage over our current AppVeyor (Windows) and SourceHut (Linux) CI systems is Azure also supports macOS:

Continuously build, test, and deploy to any platform and cloud

Azure Pipelines offers cloud-hosted pipelines for Linux, macOS, and Windows with 10 free parallel jobs and unlimited minutes for open source projects.

@iceiix
Copy link
Owner Author

iceiix commented Jun 28, 2020

https://github.com/crate-ci/azure-pipelines looks to be the easiest way to setup a Rust project with Azure Pipelines.

But it enables Clippy by default, with seemingly no option to turn it off. Forked to https://github.com/iceiix/azure-pipelines/tree/clippy to allow configuring clippy, but still haven't got it passing yet.

It would be a good idea to fix all the clippy warnings, nonetheless. Many are legitimate errors. But the majority are in steven_gl, gl-generator-generated code. I want to remove this dependency with #262 glow, but that migration is not complete enough to merge. Fixing the warnings shouldn't be a blocker for configuring CI.

@iceiix
Copy link
Owner Author

iceiix commented Jun 28, 2020

cargo clippy -- -A clippy::all allows all, but there are still several errors on https://dev.azure.com/iceix/8fea6bb4-3420-4552-8659-3b351dfba44b/_apis/build/builds/10/logs/70 I am not seeing locally:

error: you are getting the inner pointer of a temporary `CString`
   --> src/gl/mod.rs:540:53
    |
540 |             unsafe { gl::GetUniformLocation(self.0, ffi::CString::new(name).unwrap().as_ptr()) };
    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[deny(clippy::temporary_cstring_as_ptr)]` on by default
    = note: that pointer will be invalid outside this expression
help: assign the `CString` to a variable to extend its lifetime
   --> src/gl/mod.rs:540:53
    |
540 |             unsafe { gl::GetUniformLocation(self.0, ffi::CString::new(name).unwrap().as_ptr()) };
    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr

error: this public function dereferences a raw pointer but is not marked `unsafe`
   --> src/gl/mod.rs:651:48
    |
651 |             gl::Uniform4fv(self.0, len as i32, data);
    |                                                ^^^^
    |
    = note: `#[deny(clippy::not_unsafe_ptr_arg_deref)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

and many of the form:

error: strict comparison of `f32` or `f64`
   --> src/ui/mod.rs:308:12
    |
308 |         if self.last_sw != sw
    |            ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.last_sw - sw).abs() > error`
    |
    = note: `#[deny(clippy::float_cmp)]` on by default
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp

@iceiix
Copy link
Owner Author

iceiix commented Jun 28, 2020

Now gets past clippy, but cargo test fails:

   Compiling stevenarella v0.0.1 (/home/vsts/work/1/s)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.18dffh3dd4cex5ff.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.1da26x5e4au26y3b.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.1m5owwnqtdweceoe.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.1rcgptnnh9c3me8w.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.1sxa0iejopo4x5ey.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.1tb9izpog1suq8f7.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.22bom7hyeeervvo0.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.23ovhzeksxpuqzi.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.28fw829xz5xo88zx.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2dxqhyt5ejzh8lm1.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2gdvmwyrtaamaoo6.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2hcth8kd7q5torup.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2owo2zl31zzmd3gv.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2spslop9d5b0pwp1.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.2u599idk2c8i6j69.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.30xzs63b9ikv142e.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.34wg72shs8n6r116.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.39sa9lhz3f1hqupz.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.3c4vcwut0ud6i98b.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.3fqxfzy6leyt489z.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.3mddtohoks99kba9.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.3zd11h0btwazufpz.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.433hq33zjohv8f89.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.47qe3i5yr8j5ntz7.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.49snfq4pj9rqahjq.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4bcc25ku1005atgn.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4do9oib0n8v1scm9.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4ezmwxqi9vm535kl.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4k81q06ac5ebw9w1.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4llhmw7t4sos80yj.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4nxipigx6vm1rxlh.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4yv664pdmgyklgro.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.4zhv94664g2z2u95.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.53numy1rzopr2136.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.58cf68qmp6q6i3ho.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.58pjhx0q3wphyced.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.5evhgplpdvp3jjo3.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.5g8hvg6usz5z7lto.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.65trbk3j3had9f.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.7bmq29lai5qmgst.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.gy57f5qegx5kcuu.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.k4n1398iu7llt43.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.kp90tmpbb5t0z7v.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.lr0f2eu7s5cxe5.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.w8gzam09phpr5vy.rcgu.o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.y13j220urkzm56s.rcgu.o" "-o" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915" "/home/vsts/work/1/s/target/debug/deps/stevenarella-7a892c937fc80915.shjyoy7b92xmp34.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/vsts/work/1/s/target/debug/deps" "-L" "/home/vsts/work/1/s/target/debug/build/libloading-6a7d5c0903b78fe2/out" "-L" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-70d03ac6bbb1c69e.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-72a5022f7bb4bd76.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-1d3a4b88a8b90511.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-f2e3acf79ce4bd51.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-219c2b67d6572a88.rlib" "/home/vsts/work/1/s/target/debug/deps/libsteven_blocks-cd2bdbcafcc9e78c.rlib" "/home/vsts/work/1/s/target/debug/deps/libclipboard-d252766afb93cc14.rlib" "/home/vsts/work/1/s/target/debug/deps/libx11_clipboard-b9038cfe292c4710.rlib" "/home/vsts/work/1/s/target/debug/deps/libxcb-f27b7595bdd6c18f.rlib" "/home/vsts/work/1/s/target/debug/deps/libglutin-3c6c5af1d009a303.rlib" "/home/vsts/work/1/s/target/debug/deps/libosmesa_sys-aa231b28af161ad3.rlib" "/home/vsts/work/1/s/target/debug/deps/libshared_library-bad275e1e5c4c4ea.rlib" "/home/vsts/work/1/s/target/debug/deps/libparking_lot-3b5dc92f20cd7212.rlib" "/home/vsts/work/1/s/target/debug/deps/libparking_lot_core-1875008e45d7ccf9.rlib" "/home/vsts/work/1/s/target/debug/deps/liblibloading-8a0d76335728a879.rlib" "/home/vsts/work/1/s/target/debug/deps/libwinit-c953ec6dfa362428.rlib" "/home/vsts/work/1/s/target/debug/deps/libsmithay_client_toolkit-bf7adc95575bc6ca.rlib" "/home/vsts/work/1/s/target/debug/deps/libwayland_protocols-05820a1285c312a4.rlib" "/home/vsts/work/1/s/target/debug/deps/libwayland_client-9c16d02cf4c65ab5.rlib" "/home/vsts/work/1/s/target/debug/deps/libwayland_commons-86c64e692ec48def.rlib" "/home/vsts/work/1/s/target/debug/deps/libwayland_sys-19768c74f0ae33eb.rlib" "/home/vsts/work/1/s/target/debug/deps/libcalloop-4419da3b649d6549.rlib" "/home/vsts/work/1/s/target/debug/deps/libmio_extras-285ae3a1d3f961bb.rlib" "/home/vsts/work/1/s/target/debug/deps/liblazycell-ad4a3448c91e2813.rlib" "/home/vsts/work/1/s/target/debug/deps/libnix-aa9d5e1a5d266222.rlib" "/home/vsts/work/1/s/target/debug/deps/libvoid-4eb9117eb6753ca2.rlib" "/home/vsts/work/1/s/target/debug/deps/libmemmap-d2773caebbe2b96c.rlib" "/home/vsts/work/1/s/target/debug/deps/libandrew-74074b8e248826f2.rlib" "/home/vsts/work/1/s/target/debug/deps/libxml-684b793326b900a8.rlib" "/home/vsts/work/1/s/target/debug/deps/libxdg-180e92ddfc546705.rlib" "/home/vsts/work/1/s/target/debug/deps/libwalkdir-1eac2629665a970a.rlib" "/home/vsts/work/1/s/target/debug/deps/libsame_file-59382380447d867d.rlib" "/home/vsts/work/1/s/target/debug/deps/librusttype-c831d8411fdb6051.rlib" "/home/vsts/work/1/s/target/debug/deps/librusttype-af52874b095ee418.rlib" "/home/vsts/work/1/s/target/debug/deps/libstb_truetype-31223bf8c7038fc0.rlib" "/home/vsts/work/1/s/target/debug/deps/libordered_float-f48eea1f7d7f6756.rlib" "/home/vsts/work/1/s/target/debug/deps/libline_drawing-8577949ebdbb2f5e.rlib" "/home/vsts/work/1/s/target/debug/deps/libdlib-f169cd025f96e610.rlib" "/home/vsts/work/1/s/target/debug/deps/liblibloading-44357d200bc2f8a7.rlib" "/home/vsts/work/1/s/target/debug/deps/libraw_window_handle-e3e6f988f8e33de9.rlib" "/home/vsts/work/1/s/target/debug/deps/libparking_lot-67e80218bb3304cf.rlib" "/home/vsts/work/1/s/target/debug/deps/libparking_lot_core-a7223bb27ddb9440.rlib" "/home/vsts/work/1/s/target/debug/deps/libsmallvec-61ae266fc460a4a0.rlib" "/home/vsts/work/1/s/target/debug/deps/liblock_api-37da1881a40b7f7e.rlib" "/home/vsts/work/1/s/target/debug/deps/libinstant-9c13ef174f51fd54.rlib" "/home/vsts/work/1/s/target/debug/deps/libglutin_glx_sys-9a65ee9557d321f7.rlib" "/home/vsts/work/1/s/target/debug/deps/libx11_dl-b5823b3ac965b8e7.rlib" "/home/vsts/work/1/s/target/debug/deps/libglutin_egl_sys-3190b5a215d54771.rlib" "/home/vsts/work/1/s/target/debug/deps/librsa_public_encrypt_pkcs1-139472cb166002a5.rlib" "/home/vsts/work/1/s/target/debug/deps/librand-e9f7131276f21e34.rlib" "/home/vsts/work/1/s/target/debug/deps/libsimple_asn1-7b5e2a0991fe79ac.rlib" "/home/vsts/work/1/s/target/debug/deps/libchrono-07e016c6cff6dabe.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum-210395dea5228a72.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_rational-07b3d34a6e9f482f.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_complex-98d0e562e2b0bab9.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_bigint-282f93f3dd0e809f.rlib" "/home/vsts/work/1/s/target/debug/deps/libzip-52f810c0ffc3ecf8.rlib" "/home/vsts/work/1/s/target/debug/deps/libpodio-abdf919e0852dc8f.rlib" "/home/vsts/work/1/s/target/debug/deps/libimage-325e21866a05656f.rlib" "/home/vsts/work/1/s/target/debug/deps/libbytemuck-99fc47a5320f6164.rlib" "/home/vsts/work/1/s/target/debug/deps/libpng-9b4ca0e07b3fc70b.rlib" "/home/vsts/work/1/s/target/debug/deps/libdeflate-02e3d0c9a924b989.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_iter-669bd08c256c3974.rlib" "/home/vsts/work/1/s/target/debug/deps/libjpeg_decoder-9c6d86f838f75a75.rlib" "/home/vsts/work/1/s/target/debug/deps/librayon-5b41da2862d6f530.rlib" "/home/vsts/work/1/s/target/debug/deps/librayon_core-bf2d3fcdb4b580ef.rlib" "/home/vsts/work/1/s/target/debug/deps/libcrossbeam_deque-5a6bbe83ca3f215e.rlib" "/home/vsts/work/1/s/target/debug/deps/libcrossbeam_epoch-9c0a0e54ddc4947f.rlib" "/home/vsts/work/1/s/target/debug/deps/libscopeguard-f971a3df2b4ac4f5.rlib" "/home/vsts/work/1/s/target/debug/deps/libmemoffset-bf6fd38d70a142ac.rlib" "/home/vsts/work/1/s/target/debug/deps/libcrossbeam_queue-08155c98572cbc9b.rlib" "/home/vsts/work/1/s/target/debug/deps/libcrossbeam_utils-42024a423c3e618a.rlib" "/home/vsts/work/1/s/target/debug/deps/libeither-a3eb4295652141b0.rlib" "/home/vsts/work/1/s/target/debug/deps/libscoped_threadpool-ce74517ec714d072.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_rational-72ab739bc6255fee.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_integer-13c303df361aa76c.rlib" "/home/vsts/work/1/s/target/debug/deps/libgif-7a14e355563011e2.rlib" "/home/vsts/work/1/s/target/debug/deps/libcolor_quant-de402fcc28e5bd36.rlib" "/home/vsts/work/1/s/target/debug/deps/libtiff-00f0ec44d73d08e2.rlib" "/home/vsts/work/1/s/target/debug/deps/liblzw-1292335d289bc6f3.rlib" "/home/vsts/work/1/s/target/debug/deps/libcollision-032edb4a0d51bd15.rlib" "/home/vsts/work/1/s/target/debug/deps/libsmallvec-033f9feb9453e001.rlib" "/home/vsts/work/1/s/target/debug/deps/libmaybe_uninit-708e18240277c78e.rlib" "/home/vsts/work/1/s/target/debug/deps/libbit_set-8c1da6608624465f.rlib" "/home/vsts/work/1/s/target/debug/deps/libbit_vec-171ba9abaf7f868f.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_pcg-372b8b01dc491f69.rlib" "/home/vsts/work/1/s/target/debug/deps/librand-b730a8c54c7f486b.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_chacha-4a47b3166a78b291.rlib" "/home/vsts/work/1/s/target/debug/deps/libppv_lite86-43c456435ac4876c.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_core-cc2a1729d89f4861.rlib" "/home/vsts/work/1/s/target/debug/deps/libgetrandom-e801562a526e4a0e.rlib" "/home/vsts/work/1/s/target/debug/deps/libcgmath-2e356e2a5a3e63c7.rlib" "/home/vsts/work/1/s/target/debug/deps/librand-9fbd04579e08d20a.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_xorshift-0e10969aed712c2e.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_pcg-59bae1c54af722a8.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_hc-f758747262f98eab.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_chacha-77732473143ed26d.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_isaac-7f7d7a024a4bfd02.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_core-e11adcc5a3fb6404.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_os-34046a4d32a094fc.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_jitter-cc5bea432f4cd677.rlib" "/home/vsts/work/1/s/target/debug/deps/librand_core-f23320e4f08b4bcc.rlib" "/home/vsts/work/1/s/target/debug/deps/libapprox-6b14f8141d1d1ddc.rlib" "/home/vsts/work/1/s/target/debug/deps/libstructopt-feedce97a998e112.rlib" "/home/vsts/work/1/s/target/debug/deps/libclap-b07a45ec219a9300.rlib" "/home/vsts/work/1/s/target/debug/deps/libvec_map-eb3e324b6d7f67a2.rlib" "/home/vsts/work/1/s/target/debug/deps/libtextwrap-c04b9d20aabf1da8.rlib" "/home/vsts/work/1/s/target/debug/deps/libunicode_width-54ea069d361bfaae.rlib" "/home/vsts/work/1/s/target/debug/deps/libstrsim-60720d784782d6ab.rlib" "/home/vsts/work/1/s/target/debug/deps/libatty-3066e5027ac33547.rlib" "/home/vsts/work/1/s/target/debug/deps/libansi_term-ecf7ea6b0f691292.rlib" "/home/vsts/work/1/s/target/debug/deps/libsteven_resources-64184691b2bf978a.rlib" "/home/vsts/work/1/s/target/debug/deps/libsteven_gl-4a52fc711d0cac9f.rlib" "/home/vsts/work/1/s/target/debug/deps/libsteven_protocol-36bbfafb306e1094.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_traits-827db9841457688b.rlib" "/home/vsts/work/1/s/target/debug/deps/libflate2-83f5f81e0828e3ec.rlib" "/home/vsts/work/1/s/target/debug/deps/libminiz_oxide-bccdac6f93eb31eb.rlib" "/home/vsts/work/1/s/target/debug/deps/libadler32-661c4bb0d63e3123.rlib" "/home/vsts/work/1/s/target/debug/deps/libcrc32fast-3fc8202e0a40a13a.rlib" "/home/vsts/work/1/s/target/debug/deps/libsha1-4ecaf2775b23463d.rlib" "/home/vsts/work/1/s/target/debug/deps/libopaque_debug-8869f6778ef3e509.rlib" "/home/vsts/work/1/s/target/debug/deps/libcpuid_bool-df935f4d27e3e567.rlib" "/home/vsts/work/1/s/target/debug/deps/libblock_buffer-b7c3286841a49b47.rlib" "/home/vsts/work/1/s/target/debug/deps/libdigest-16f87245f7db5709.rlib" "/home/vsts/work/1/s/target/debug/deps/libgeneric_array-cc1fcf30703a308d.rlib" "/home/vsts/work/1/s/target/debug/deps/libstd_or_web-ba428d044adb5e99.rlib" "/home/vsts/work/1/s/target/debug/deps/libreqwest-c2a681e002ec339d.rlib" "/home/vsts/work/1/s/target/debug/deps/libhyper_tls-3c097ecc8b62452a.rlib" "/home/vsts/work/1/s/target/debug/deps/libtokio_tls-4f927eb323b4cbd4.rlib" "/home/vsts/work/1/s/target/debug/deps/libencoding_rs-83301105375e8e45.rlib" "/home/vsts/work/1/s/target/debug/deps/libserde_urlencoded-8f19b88ca6c2ab59.rlib" "/home/vsts/work/1/s/target/debug/deps/libdtoa-9aad8c3954d90005.rlib" "/home/vsts/work/1/s/target/debug/deps/libbase64-35d36b32e89e26e9.rlib" "/home/vsts/work/1/s/target/debug/deps/libmime_guess-1ec4a01f39e38822.rlib" "/home/vsts/work/1/s/target/debug/deps/libunicase-d54184b575eadbce.rlib" "/home/vsts/work/1/s/target/debug/deps/libmime-62a2ece99e15cba9.rlib" "/home/vsts/work/1/s/target/debug/deps/libnative_tls-25081f71f0503114.rlib" "/home/vsts/work/1/s/target/debug/deps/libopenssl_probe-f0f2c582cbb5b03e.rlib" "/home/vsts/work/1/s/target/debug/deps/libopenssl-aa70710c3ed9c93e.rlib" "/home/vsts/work/1/s/target/debug/deps/libopenssl_sys-f747cb2fdf923e43.rlib" "/home/vsts/work/1/s/target/debug/deps/libforeign_types-fc075cee27f4ecbf.rlib" "/home/vsts/work/1/s/target/debug/deps/libforeign_types_shared-a3b7727b0ed95575.rlib" "/home/vsts/work/1/s/target/debug/deps/libbitflags-c0ff521b5d084059.rlib" "/home/vsts/work/1/s/target/debug/deps/libhyper-f8fb13782174bfb7.rlib" "/home/vsts/work/1/s/target/debug/deps/libhttparse-8ac58243716c1826.rlib" "/home/vsts/work/1/s/target/debug/deps/libwant-c6cd847bbcf5e387.rlib" "/home/vsts/work/1/s/target/debug/deps/libtry_lock-99947bce9c803066.rlib" "/home/vsts/work/1/s/target/debug/deps/libh2-19e484acb31be8ce.rlib" "/home/vsts/work/1/s/target/debug/deps/libindexmap-8318b2ba646e5b2c.rlib" "/home/vsts/work/1/s/target/debug/deps/libtokio_util-3b20f827c679c577.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_sink-4928f4dae28c297b.rlib" "/home/vsts/work/1/s/target/debug/deps/libtime-5aafc81fff789b1c.rlib" "/home/vsts/work/1/s/target/debug/deps/libsocket2-bad4a333da40263d.rlib" "/home/vsts/work/1/s/target/debug/deps/libtower_service-13698431dd14d542.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_channel-e0f811c553b27b5b.rlib" "/home/vsts/work/1/s/target/debug/deps/libtokio-fccd61f3c4a217c8.rlib" "/home/vsts/work/1/s/target/debug/deps/libnum_cpus-9c72963da6207a60.rlib" "/home/vsts/work/1/s/target/debug/deps/libmio-86cc1f42077e00cd.rlib" "/home/vsts/work/1/s/target/debug/deps/libiovec-604fc29dfed6bf03.rlib" "/home/vsts/work/1/s/target/debug/deps/libnet2-d628b305fc0a1f3f.rlib" "/home/vsts/work/1/s/target/debug/deps/liblibc-e399787615fc23f6.rlib" "/home/vsts/work/1/s/target/debug/deps/libpin_project_lite-2e749bf58e9ed1e0.rlib" "/home/vsts/work/1/s/target/debug/deps/libhttp_body-72ee43ba17f949cb.rlib" "/home/vsts/work/1/s/target/debug/deps/liblog-545f85ee37426543.rlib" "/home/vsts/work/1/s/target/debug/deps/libcfg_if-473466015cc2a243.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_util-7aff450d7c6a8ae3.rlib" "/home/vsts/work/1/s/target/debug/deps/libmemchr-fe566e318e28fd19.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_io-69e6bee7f0ad422b.rlib" "/home/vsts/work/1/s/target/debug/deps/libslab-c3304999dcea9e2d.rlib" "/home/vsts/work/1/s/target/debug/deps/libpin_project-4c42e699e8fc13b6.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_task-9e3557ed0f3f89e9.rlib" "/home/vsts/work/1/s/target/debug/deps/libonce_cell-94d47ffbf241fd37.rlib" "/home/vsts/work/1/s/target/debug/deps/libpin_utils-1dd5ee356cf1d566.rlib" "/home/vsts/work/1/s/target/debug/deps/libfutures_core-e6c795ea0da11100.rlib" "/home/vsts/work/1/s/target/debug/deps/liblazy_static-ea466f671dbe00d9.rlib" "/home/vsts/work/1/s/target/debug/deps/liburl-26466e2b49726761.rlib" "/home/vsts/work/1/s/target/debug/deps/libpercent_encoding-1ea669001f04278a.rlib" "/home/vsts/work/1/s/target/debug/deps/libidna-0ce3461cac7d3d34.rlib" "/home/vsts/work/1/s/target/debug/deps/libunicode_normalization-d9ced619e619ae19.rlib" "/home/vsts/work/1/s/target/debug/deps/libtinyvec-7bdcdea11e816cfe.rlib" "/home/vsts/work/1/s/target/debug/deps/libunicode_bidi-ecd1b77d8fabbd5d.rlib" "/home/vsts/work/1/s/target/debug/deps/libmatches-59073c0ce52a09a3.rlib" "/home/vsts/work/1/s/target/debug/deps/libhttp-f4dd656ae4351a6e.rlib" "/home/vsts/work/1/s/target/debug/deps/libbytes-470c73bc04a39304.rlib" "/home/vsts/work/1/s/target/debug/deps/libfnv-510fd01407348967.rlib" "/home/vsts/work/1/s/target/debug/deps/libhex-1f0a806b168beda8.rlib" "/home/vsts/work/1/s/target/debug/deps/libcfb8-e3bb3a1729f4b1a0.rlib" "/home/vsts/work/1/s/target/debug/deps/libstream_cipher-66ebe926e971161f.rlib" "/home/vsts/work/1/s/target/debug/deps/libaes-80f77a4fc6e820bb.rlib" "/home/vsts/work/1/s/target/debug/deps/libaes_soft-2ed2f51dd9bfa348.rlib" "/home/vsts/work/1/s/target/debug/deps/libopaque_debug-d269693bcf5545b8.rlib" "/home/vsts/work/1/s/target/debug/deps/libblock_cipher_trait-2f4f703870cdc324.rlib" "/home/vsts/work/1/s/target/debug/deps/libgeneric_array-d3189ee15ad461b0.rlib" "/home/vsts/work/1/s/target/debug/deps/libtypenum-49b20ea986ce4ae0.rlib" "/home/vsts/work/1/s/target/debug/deps/libbyteorder-67909a5d1994a43d.rlib" "/home/vsts/work/1/s/target/debug/deps/libserde_json-8a20d36fac199450.rlib" "/home/vsts/work/1/s/target/debug/deps/libryu-5745e8acd9115c72.rlib" "/home/vsts/work/1/s/target/debug/deps/libitoa-ddec09e578112e9b.rlib" "/home/vsts/work/1/s/target/debug/deps/libserde-96066a0a569f5542.rlib" "/home/vsts/work/1/s/target/debug/deps/libsteven_shared-74c7745ac9a86821.rlib" "-Wl,--start-group" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b6aff3703feff874.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-812457dcc335cb0e.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d3b70323dc13665e.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-a72ca64738319f23.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-ae466ecb818a21c7.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-8965f725fa371d94.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f5d385bbcf1c0598.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-14d182d411047066.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-45730ad7fe9247a8.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-95ea48ddc44a311b.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-077a7bdb239ba92c.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-68f423c59dc48a40.rlib" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-54580c7798bf2225.rlib" "-Wl,--end-group" "/usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-31151f98ccdb185a.rlib" "-Wl,-Bdynamic" "-lxcb" "-lxcb" "-lxcb" "-lxcb" "-lxcb-render" "-lxcb-shape" "-lxcb-xfixes" "-ldl" "-ldl" "-ldl" "-lssl" "-lcrypto" "-lutil" "-ldl" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil"
  = note: /usr/bin/ld: cannot find -lxcb-shape
          /usr/bin/ld: cannot find -lxcb-xfixes
          collect2: error: ld returned 1 exit status

https://stackoverflow.com/questions/55758892/missing-libraries-on-linux-with-rust-and-amethyst suggests installing missing libraries. script task from https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/?view=azure-devops

@iceiix iceiix mentioned this pull request Jun 28, 2020
@iceiix
Copy link
Owner Author

iceiix commented Jun 28, 2020

Azure Pipelines builds completed successfully finally. https://dev.azure.com/iceix/ice_ix/_build/results?buildId=29&view=results
Screen Shot 2020-06-28 at 3 08 26 PM

a pleasant surprise, Windows completed in 18m 19s, faster than AppVeyor https://ci.appveyor.com/project/iceiix/stevenarella/history 24 min 23 sec, 0.75x as long. Only pending build before this PR gets the green check is AppVeyor, still waiting (haven't removed yet). Currently tests on:

Linux macOS Windows
SourceHut, Azure Azure AppVeyor, Azure

@SuperSandro2000
Copy link

The main advantage over our current AppVeyor (Windows) and SourceHut (Linux) CI systems is Azure also supports macOS

Travis also supports mac.

@iceiix
Copy link
Owner Author

iceiix commented Jun 28, 2020

I had Travis-CI configured previously, but was hitting build cache timeout problems I couldn't solve so I disabled it (#173). This was not long after their ownership changed (https://twitter.com/carmatrocity/status/1098538649908666368), which may or may not be related, but it appeared Travis was becoming less reliable, maybe it is better now...

Also looked at CircleCI (#174) as another alternative but it aborted the build due to memory consumption, though that should be mitigated now by the fix in #267.

@iceiix iceiix changed the title [WIP] Azure Pipelines configuration Azure Pipelines configuration, cross-platform CI Jun 28, 2020
@iceiix iceiix changed the title Azure Pipelines configuration, cross-platform CI Azure Pipelines configuration Jun 28, 2020
@iceiix iceiix merged commit 297cfd0 into master Jun 28, 2020
@iceiix iceiix deleted the azure branch June 28, 2020 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants