add MIPS arch and qemu Malta board support

This PR adds support for the MIPS architecture and qemu Malta board.

MIPS32r1 and MIPS32r2 CPUs are supported;
both big- and little-endian modes are supported;
soft-float is supported;
Zephyr SDK 0.13.2 should be used.

Previous attempt to add MIPS support was https://github.com/zephyrproject-rtos/zephyr/pull/1576.
This PR was inspired by https://github.com/zephyrproject-rtos/zephyr/pull/29718 and adopts a lot of code from RISC-V, NIOS2, SPARC and Xtensa codebase.
How to test:
Install Zephyr SDK 0.13.2 (https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.13.2).
Compile & run the hello_world example:
cd /workdir/zephyr

export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-0.13.2/

source zephyr-env.sh

rm -rf build/
west build -b qemu_malta_be samples/hello_world
west build -t run
-- west build: running target run
[0/1] To exit from QEMU enter: 'CTRL+a, x'[QEMU] CPU: 24Kc
*** Booting Zephyr OS build v2.7.99-2234-g1b3e2e02c1c5  ***
Hello World! qemu_malta_be

Tasks:

[x]  offset stuff/thread handling is adopted from RISC-Voffset stuff/thread handling is kept from https://github.com/zephyrproject-rtos/zephyr/pull/1576 and should be reworked;
[x] CONFIG_TICKLESS_KERNEL is not supported;
[x] small-data section exceeds 64KB link error (samples/compression/lz4), fixed in https://github.com/zephyrproject-rtos/sdk-ng/pull/411; use Zephyr SDK 0.13.2;
[x] no qemu-system-mipsel in Zephyr SDK 0.13.1 fixed in https://github.com/zephyrproject-rtos/sdk-ng/pull/401; use Zephyr SDK 0.13.2;
[x] tests/subsys/cpp/libcxx     Build failure (relocation truncated to fit: R_MIPS_GPREL16 against `typeinfo for __cxxabiv1::__forced_unwind'), the problem looks the same as https://github.com/zephyrproject-rtos/zephyr/pull/30405#issuecomment-955663713 but adding CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS to ct-ng/configs/mips.config does not fix the problem; see fix in https://github.com/zephyrproject-rtos/zephyr/issues/6082#issuecomment-966590935
[x] false negative error reports from twister can be fixed with -j option; CONFIG_QEMU_ICOUNT set to y.
[x] tests/subsys/logging/log_api;
[x] tests/subsys/logging/log_msg2;
[x] real world hardware example (see https://github.com/frantony/zephyr/tree/20210617.mt76x8);
[x] interrupt-enabled UART support, so samples/subsys/shell/shell_module/ runs under qemu;
[x] tests/kernel/interrupt/arch.interrupt  Build failure (error: implicit declaration of function 'arch_irq_connect_dynamic'). At the moment there is no arch_irq_connect_dynamic() function for mips;
[x] tests/kernel/context/kernel.common test_kernel_cpu_idle* tests fail with Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/context/src/main.c:385: _test_kernel_cpu_idle: (tms2 < tms is true).

Closes #6082.

@nashif @galak @andrewboie
At the moment I can run sanitycheck tests under qemu with this command sequence:
cd zephyr

export ZEPHYR_TOOLCHAIN_VARIANT=gccmipsmti
export GCCMIPSMTI_TOOLCHAIN_PATH=/opt/imgtec/Toolchains/mips-mti-elf/2017.10-05/
source zephyr-env.sh

./scripts/sanitycheck --arch mips

The corresponding sanitycheck output looks like this:
INFO    - Total complete:  241/ 241  100%  skipped:  609, failed:   86
INFO    - 82 of 168 test configurations passed (48.81%), 86 failed, 609 skipped with 0 warnings in 380.03 seconds
INFO    - In total 1213 test cases were executed, 5832 skipped on 1 out of total 313 platforms (0.32%)
INFO    - 62 test configurations executed on platforms, 106 test configurations were only built.

The most annoying test build error reason is this readelf warning:
readelf: Warning: [ 1]: Link field (0) should index a symtab section.

Have you any ideas how it can be fixed?
BTW, can we revive mips support in zephyr SDK?

Here is ./scripts/twister --arch mips -v output for 27e6d9524a5:
INFO    - 131 of 168 test configurations passed (77.98%), 37 failed, 611 skipped with 0 warnings in 259.78 seconds
INFO    - In total 1189 test cases were executed, 5859 skipped on 1 out of total 314 platforms (0.32%)
INFO    - 102 test configurations executed on platforms, 66 test configurations were only built.

Here is ./scripts/twister --arch mips -v output for 0a057ee557:
INFO    - 262 of 332 test configurations passed (78.92%), 70 failed, 997 skipped with 0 warnings in 448.79 seconds
INFO    - In total 2374 test cases were executed, 11418 skipped on 2 out of total 319 platforms (0.63%)
INFO    - 204 test configurations executed on platforms, 128 test configurations were only built.

Here is ./scripts/twister --arch mips -v output for b484dcdb166483c5ccccfffcfa9ce507b0223a38:
==> gccmipsmti-toolchain.log <==
INFO    - 326 of 332 test configurations passed (98.19%), 6 failed, 997 skipped with 0 warnings in 391.32 seconds
INFO    - In total 2364 test cases were executed, 11430 skipped on 2 out of total 319 platforms (0.63%)
INFO    - 268 test configurations executed on platforms, 64 test configurations were only built.

==> zephyr-toolchain.log <==
INFO    - 313 of 348 test configurations passed (89.94%), 35 failed, 981 skipped with 0 warnings in 741.80 seconds
INFO    - In total 2471 test cases were executed, 11323 skipped on 2 out of total 319 platforms (0.63%)
INFO    - 255 test configurations executed on platforms, 93 test configurations were only built.

Hi few observations.

I tried building it and running it on 7688an board ( 32MB flash, 256MB RAM ) on openwrt linux as an application, it did not work.
I tried building it and flashing it on 7688an Board instead of the openwrt bin file.. so that the bootloader boots it directly instead, it did not work. ~ BAD MAGIC number.
I tried building it and running it in Qemu, that didn't work either.
There are few things I did not understand why you configured as.
a. serial has a different id vs reg value.
b. memory should ideally start from 0 and go up to 8000000, at least that's how I have in linux kernel DTS, if its size and location instead then size should be 0x8000000 instead of reg = <0x80100000 0x100000>, once changed to a lower number it is at least accepted by QEMU. Though then it throws out as invalid argument.

While you are at this, is it also possible to make a native_posix with cpu type as mips ? That would help to test it on top of linux instead of replacing the entire OS with zephyr at least initially.
Do let me know if I can be of any help.

@adityaxavier
Thanks for your comment!

Hi few observations.
I tried building it and running it on 7688an board ( 32MB flash, 256MB RAM ) on openwrt linux as an application, it did not work.
I tried building it and flashing it on 7688an Board instead of the openwrt bin file.. so that the bootloader boots it directly instead, it did not work. ~ BAD MAGIC number.

What board do you use?
What bootloader do you use?
I use experimental barebox bootloader with ELF file support.
But most of time I use loading via EJTAG.
Can you use EJTAG on your board?

I tried building it and running it in Qemu, that didn't work either.
There are few things I did not understand why you configured as.
a. serial has a different id vs reg value.

I suppose you are speaking about this
	uart2: serial@1ff70000 {
		compatible = "ns16550";
		reg = <0xb0000e00 0x100>;
		reg-shift = <2>;

I'll fix it in a short time.

b. memory should ideally start from 0 and go up to 8000000, at least that's how I have in  linux kernel DTS, if its size and location instead then size should be 0x8000000 instead of reg = <0x80100000 0x100000>, once changed to a lower number it is at least accepted by QEMU.

Linux has separate memory areas and load address declaration. At the moment zephyr linking routine uses memory start address from dts to calculate load address. So changing memory start address to 0x80100000 I just change zephyr image load address.

Though then it throws out as invalid argument.
While you are at this, is it also possible to make a native_posix with cpu type as mips ? That would help to test it on top of linux instead of replacing the entire OS with zephyr at least initially.

Do you mean running native_posix zephyr on linux host with MIPS cpu?

Do let me know if I can be of any help.

@adityaxavier
Thanks for your comment!

Hi few observations.
I tried building it and running it on 7688an board ( 32MB flash, 256MB RAM ) on openwrt linux as an application, it did not work.
I tried building it and flashing it on 7688an Board instead of the openwrt bin file.. so that the bootloader boots it directly instead, it did not work. ~ BAD MAGIC number.

What board do you use?
Its 7688AN custom board, made by a Chinese manufacturer.
What bootloader do you use?
Currently am using U-Boot ( Padavan version  )
I use experimental barebox bootloader with ELF file support.
Got it. I'll try porting barebox for it and attempt again.
But most of time I use loading via EJTAG.
Can you use EJTAG on your board?
I do not have EJTAG on my board. So I flashed zephyr elf file from padavan's web server and checked..

I tried building it and running it in Qemu, that didn't work either.
There are few things I did not understand why you configured as.
a. serial has a different id vs reg value.

I suppose you are speaking about this
	uart2: serial@1ff70000 {
		compatible = "ns16550";
		reg = <0xb0000e00 0x100>;
		reg-shift = <2>;

I'll fix it in a short time.

b. memory should ideally start from 0 and go up to 8000000, at least that's how I have in  linux kernel DTS, if its size and location instead then size should be 0x8000000 instead of reg = <0x80100000 0x100000>, once changed to a lower number it is at least accepted by QEMU.

Linux has separate memory areas and load address declaration. At the moment zephyr linking routine uses memory start address from dts to calculate load address. So changing memory start address to 0x80100000 I just change zephyr image load address.

Though then it throws out as invalid argument.
While you are at this, is it also possible to make a native_posix with cpu type as mips ? That would help to test it on top of linux instead of replacing the entire OS with zephyr at least initially.

Do you mean running native_posix zephyr on linux host with MIPS cpu?
Yes, I would not want to initially shift the entire production / development to Zephyr without working WiFI / Ethernet / Switch etc.. I was hence planning on using Zephyr to run a custom firmware to handle BLE side of things instead of having yet another BLE Firmware to manage and a GO / bluez stack on Linux. It would be of great use at least for me, to simplify release management.

Do let me know if I can be of any help.

at the moment there is no qemu-system-mipsel in Zephyr SDK 0.13.1, please see https://github.com/zephyrproject-rtos/sdk-ng/issues/400

The https://github.com/zephyrproject-rtos/zephyr/commit/7839d70083e597633b733c0c9ec70d9839a7a0b3 contains fixes for timers and has this test results:
INFO    - 439 of 480 test configurations passed (91.46%), 41 failed, 2755 skipped with 0 warnings in 1476.26 seconds
INFO    - In total 3125 test cases were executed, 51334 skipped on 2 out of total 404 platforms (0.50%)
INFO    - 384 test configurations executed on platforms, 96 test configurations were only built.

We need a patch for sdk-ng:

diff --git a/configs/mips.config b/configs/mips.config
index a00859f..2b2d8aa 100644
--- a/configs/mips.config
+++ b/configs/mips.config
@@ -12,7 +12,7 @@ CT_BINUTILS_DEVEL_REVISION="c7d30a54fc17c1e9d9b1c39c7623222442c63af8"
 CT_NEWLIB_SRC_DEVEL=y
 CT_NEWLIB_DEVEL_URL="https://github.com/zephyrproject-rtos/newlib-cygwin.git"
 CT_NEWLIB_DEVEL_REVISION="2893dbb10f1fe3bf431a26f89a22e12a5020dc02"
-CT_LIBC_NEWLIB_TARGET_CFLAGS="-O2 -G0"
+CT_LIBC_NEWLIB_TARGET_CFLAGS="-O2 -G0 -mips32 -mabi=32 -mno-gpopt -fno-pic"
 # CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE is not set
 CT_LIBC_NEWLIB_IO_LL=y
 CT_LIBC_NEWLIB_IO_FLOAT=y

I'll prepare PR for sdk-ng later.

+CT_LIBC_NEWLIB_TARGET_CFLAGS="-O2 -G0 -mips32 -mabi=32 -mno-gpopt -fno-pic"

It would be good to enable multilib if supported.

The https://github.com/zephyrproject-rtos/zephyr/pull/30405/commits/53f82419cc5f579d858418649360878c6767a718 is rebased on top of main branch and contains several fixes.
There are some false positive error reports from twister.
First run ./scripts/twister --arch mips -v -v gives me this:
INFO    - 444 of 480 test configurations passed (92.50%), 35 failed, 2763 skipped with 0 warnings in 1811.81 seconds
INFO    - In total 3115 test cases were executed, 51481 skipped on 2 out of total 407 platforms (0.49%)
INFO    - 386 test configurations executed on platforms, 94 test configurations were only built.

Second run ./scripts/twister --arch mips --only-failed -v -v gives me this:
INFO    - 8 of 36 test configurations passed (22.22%), 28 failed, 0 skipped with 0 warnings in 157.36 seconds
INFO    - In total 262 test cases were executed, 1 skipped on 0 out of total 407 platforms (0.00%)
INFO    - 30 test configurations executed on platforms, 6 test configurations were only built.

28 configuration failed. As there are big- and little- endian configuration for every test we have only 14 tests failed.

tests/kernel/interrupt/arch.interrupt  Build failure (error: implicit declaration of function 'arch_irq_connect_dynamic'). At the moment there is no arch_irq_connect_dynamic() function for mips;

tests/subsys/cpp/libcxx     Build failure (relocation truncated to fit: R_MIPS_GPREL16 against `typeinfo for __cxxabiv1::__forced_unwind'), the problem looks the same as https://github.com/zephyrproject-rtos/zephyr/pull/30405#issuecomment-955663713 but adding CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS to ct-ng/configs/mips.config does not fix the problem;

tests/kernel/context/kernel.common test_kernel_cpu_idle* tests fails with Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/context/src/main.c:385: _test_kernel_cpu_idle: (tms2 < tms is true);

tests/subsys/logging/log_api

tests/subsys/logging/log_msg2

The https://github.com/zephyrproject-rtos/zephyr/commit/d69b4a92c3c1092b0d9dd04dedf5fcc06f8d74cb is rebased on top of main branch and contains several fixes.
There are some false negative error reports from twister.
First run ./scripts/twister --arch mips -v -v gives me this:
INFO    - 451 of 480 test configurations passed (93.96%), 29 failed, 2765 skipped with 0 warnings in 1501.26 seconds
INFO    - In total 3115 test cases were executed, 51897 skipped on 2 out of total 407 platforms (0.49%)
INFO    - 389 test configurations executed on platforms, 91 test configurations were only built.

Second run ./scripts/twister --arch mips --only-failed -v -v gives me this:
INFO    - 5 of 29 test configurations passed (17.24%), 24 failed, 0 skipped with 0 warnings in 140.53 seconds
INFO    - In total 199 test cases were executed, 11 skipped on 0 out of total 407 platforms (0.00%)
INFO    - 25 test configurations executed on platforms, 4 test configurations were only built.

24 configuration failed. As there are big- and little- endian configuration for every test we have only 12 tests failed.

tests/subsys/cpp/libcxx     Build failure (relocation truncated to fit: R_MIPS_GPREL16 against `typeinfo for __cxxabiv1::__forced_unwind'), the problem looks the same as https://github.com/zephyrproject-rtos/zephyr/pull/30405#issuecomment-955663713 but adding CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS to ct-ng/configs/mips.config does not fix the problem;

tests/subsys/logging/log_api

tests/subsys/logging/log_msg2

The https://github.com/zephyrproject-rtos/zephyr/commit/2ef72de3e38209cb3d059898824fc449c38cac6c is rebased on top of main branch and contains several fixes.
There are some false negative error reports from twister.
First run ./scripts/twister --arch mips -v -v gives me this:
INFO    - 471 of 478 test configurations passed (98.54%), 6 failed, 2767 skipped with 0 warnings in 1210.98 seconds
INFO    - In total 3104 test cases were executed, 51909 skipped on 2 out of total 407 platforms (0.49%)
INFO    - 389 test configurations executed on platforms, 89 test configurations were only built.

Second run ./scripts/twister --arch mips --only-failed -v -v gives me this:
INFO    - 3 of 7 test configurations passed (42.86%), 4 failed, 0 skipped with 0 warnings in 51.36 seconds
INFO    - In total 53 test cases were executed, 0 skipped on 0 out of total 407 platforms (0.00%)
INFO    - 3 test configurations executed on platforms, 4 test configurations were only built.

4 configuration failed. As there are big- and little- endian configuration for every test we have only 2 tests failed.

tests/subsys/cpp/libcxx     Build failure (relocation truncated to fit: R_MIPS_GPREL16 against `typeinfo for __cxxabiv1::__forced_unwind'), the problem looks the same as https://github.com/zephyrproject-rtos/zephyr/pull/30405#issuecomment-955663713 but adding CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS to ct-ng/configs/mips.config does not fix the problem.

@stephanosio

+CT_LIBC_NEWLIB_TARGET_CFLAGS="-O2 -G0 -mips32 -mabi=32 -mno-gpopt -fno-pic"

It would be good to enable multilib if supported.

multilib is already enabled, please see https://github.com/zephyrproject-rtos/sdk-ng/blob/main/configs/mips.config#L7. Here is gcc -print-multi-lib output:
$ /opt/toolchains/zephyr-sdk-0.13.1/mips-zephyr-elf/bin/mips-zephyr-elf-gcc -print-multi-lib
.;
soft-float;@msoft-float
el;@EL
soft-float/el;@msoft-float@EL

The https://github.com/zephyrproject-rtos/zephyr/pull/30405/commits/bf182866ae4dc5e16dee5a6ac22a2197d6a6fb58 is rebased on top of main branch and contains several fixes. It can pass 100% tests after patching ct-ng, see https://github.com/zephyrproject-rtos/zephyr/issues/6082#issuecomment-966590935

The https://github.com/zephyrproject-rtos/zephyr/pull/30405/commits/4170bbcb3b42abad6a193d544bcf9d05c2f1a083 is rebased on top of main branch.
Use Zephyr SDK 0.13.2.
INFO    - 478 of 478 test configurations passed (100.00%), 0 failed, 2783 skipped with 0 warnings in 1690.52 seconds
INFO    - In total 3056 test cases were executed, 51999 skipped on 2 out of total 409 platforms (0.49%)
INFO    - 396 test configurations executed on platforms, 82 test configurations were only built.

Changes since https://github.com/zephyrproject-rtos/zephyr/commit/bf182866ae4dc5e16dee5a6ac22a2197d6a6fb58:

TICKLESS_KERNEL support is added;
CONFIG_QEMU_ICOUNT set to y.

@galak
At the moment buildkite uses SDK 0.13.1. SDK 0.13.2 should be used for MIPS port.
Could you please update SDK to 0.13.2 in the buildkite pipeline?

Could you please update SDK to 0.13.2 in the buildkite pipeline?

@frantony #40469

@andrewboie @andyross @carlescufi @galak @MaureenHelm @nashif
I suppose that the PR is ready for merging.
Please review!
github CI reports about several warnings:
-:2421: WARNING:NEW_TYPEDEFS: do not add new typedefs
#2421: FILE: include/arch/mips/thread.h:44:
+typedef struct _callee_saved _callee_saved_t;

-:2427: WARNING:NEW_TYPEDEFS: do not add new typedefs
#2427: FILE: include/arch/mips/thread.h:50:
+typedef struct _thread_arch _thread_arch_t;

-:2491: WARNING:NEW_TYPEDEFS: do not add new typedefs
#2491: FILE: lib/libc/minimal/include/sys/types.h:51:
+typedef int off_t;

I see that every arch introduces _callee_saved_t,  _thread_arch_t and off_t type definition so I can't avoid these warnings.

@andrewboie @andyross @carlescufi @galak @MaureenHelm @nashif
Please review!

@andyross @dcpleung @stephanosio @peter-mitsis reviews welcome

I see that every arch introduces _callee_saved_t, _thread_arch_t and off_t type definition so I can't avoid these warnings.

Yes, don't worry @frantony, just ignore them and we'll override the failure.

@andyross @carlescufi @galak @MaureenHelm @nashif @peter-mitsis @stephanosio
Please, review!


i cant install 4.2

Expected behaviour
i cant install
Actual behaviour
i cant install
Steps to reproduce
when i use
-pip3 install opencv-python==<IP_ADDRESS>
-for install in raspberry
-show this eror
ERROR: Could not find a version that satisfies the requirement opencv-python==<IP_ADDRESS> (from versions: <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>)
ERROR: No matching distribution found for opencv-python==<IP_ADDRESS>

Please read the readme, this repository does not provide packages for Raspberry Pi. Report your issue to PiWheels.


Experimenting with output

Motivation
We're not getting information about why preview publish is failing. This PR is for troubleshooting.
Approach

Alternate Designs

Possible Drawbacks or Risks

TODOs and Open Questions

Learning

Screenshots

📣 NOTIFICATION
You are receiving this message because we did not publish any packages.
Generated by @thefrontside/actions


[Investigation] Mock Reddit API data rather than mocking library methods

note that this change supports #70 and test code that touches the API surface will need to be updated regardless

in the scope of code we have touched so far, this change should be obviated by #74


enable upgrade pipelines for katello on el9

draft because:

[x] needs Foreman 3.10-rc1 and Katello 4.12-rc1 to be published
[x] needs python3.11-solv to be fixed on EL9 to be upgradeable (see https://github.com/theforeman/pulpcore-packaging/pull/938)
[ ] https://github.com/theforeman/forklift/pull/1815

after applying the forklift patch, things pass for me locally, yay


Configure stylelint to require rules be grouped by type

We've been writing CSS with two different styles. Pick one and enforce it with stylelint.
https://github.com/necolas/idiomatic-css#declaration-order

Much to my dismay, stylelint can't automatically fix problems in styled components because they rely on a preprocessor.


Update refined to 0.9.0

:tada:

Codecov Report

Merging #887 into master will decrease coverage by 0.48%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #887      +/-   ##
==========================================
- Coverage   86.53%   86.04%   -0.49%
==========================================
  Files          76       76
  Lines        2466     2516      +50
  Branches      179      187       +8
==========================================
+ Hits         2134     2165      +31
- Misses        332      351      +19

Impacted Files
Coverage Δ

...ain/scala/io/circe/literal/JsonLiteralMacros.scala
78.09% <0%> (-18.27%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
92.35% <0%> (+1.17%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c23f225...5a9d53d. Read the comment docs.


json_file Checksum on resource (6a3150) does not match checksum on content (025106)

Hi, -- I'm running into a problem with the 0.4.0 cookbook. 50% of the time, running chef-client fails with the error pasted below.
sensu_client "#{node['hostname']}.mydomain.infra" do
  address           node.ipaddress
  subscriptions    ["all"]
  keepalive        :handlers => ["chef_node","ec2_node","pagerduty"]
end

   ================================================================================
    Error executing action `create` on resource 'file[/etc/sensu/conf.d/client.json]'
    ================================================================================

    Chef::Exceptions::ChecksumMismatch
    ----------------------------------
    Checksum on resource (6a3150) does not match checksum on content (025106)

    Resource Declaration:
    ---------------------
    # In /var/cache/chef/cookbooks/sensu/providers/json_file.rb

     14:     f = file new_resource.path do
     15:       owner @owner
     16:       group new_resource.group
     17:       mode new_resource.mode
     18:       content Sensu::JSONFile.dump_json(new_resource.content)
     19:       notifies :create, "ruby_block[sensu_service_trigger]", :delayed
     20:     end
     21:

    Compiled Resource:
    ------------------
    # Declared in /var/cache/chef/cookbooks/sensu/providers/json_file.rb:14:in `block in class_from_file'

    file("/etc/sensu/conf.d/client.json") do
      action "create"
      updated true
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      path "/etc/sensu/conf.d/client.json"
      backup 5
      atomic_update true
      declared_type :file
      cookbook_name "sensu-wraooer"
      content "{\n  \"client\": {\n    \"name\": \"sensu1.hostname.fqdn\",\n    \"address\": \"<IP_ADDRESS>\",\n    \"subscriptions\": [\n      \"all\"\n    ],\n    \"keepalive\": {\n      \"handlers\": [\n        \"chef_node\",\n        \"ec2_node\",\n        \"pagerduty\"\n      ]\n    }\n  }\n}\n"
      group "sensu"
      mode 416
      owner "root"
      checksum "6a3150e146168dcb13dab1a803238fdfccda3067df41925472699342c7a9c792"
    end

We are getting the exact same thing..

chef/chef#2689 :/

This was probably chef/chef#3295 which is fixed.

Closing as this seems to be resolved upstream circa chef ~12.4


Is this project dead?

Hi.
The author made a fantastic control.
Even though we now have the CollectionView still this is a valid control.However it has not been updated for some many months.
Is it dead?
many thanks for this control

@developer9969 the answer is not. Expect next release pretty soon.

@alexrainman  fantastic!.

I am about to start a project when a carousel will play a bit part in many pages.
Could you give us an idea when you are planning the release ?
many thanks

Yes, would love to know, as I need to use .NET standard library 2.0+ and this control does not seem to work due to dependencies that are not compatible.

@alexrainman I think we should reopen this. It would be nice to get a real answer as the last release was last updated 17/01/2018.
We have been hearing of this new release you have for months if not over a year? If you have one please do let us at it. Or at least make a branch visible to us.
If its help you need its help you will get but there isn't much point of us fixing bugs and creating PRs if you have already fixed it. I would be happy to pick some of these issues up if we keep this control going.
It has got to the point where I need this control updating so I am going to have to make time to fork it and start working through the bugs I need fixed.


Allow backend cal to export instmap

Summary
This PR allows BackendCalibrations to override instruction schedule map.
This requires https://github.com/Qiskit/qiskit-terra/pull/6759
Here is the expected usage.
my_calibration = BackendCalibrations(backend)

my_experiment = qiskit_experiments.MyExperiment(**exp_options)
# here we can set instmap-overridden backend from calibration, instead of backend above
result = my_experiment.run(my_calibration.export_backend())

Note that this framework doesn't require special logic to update calibration on experiment end.
Thus this can be applied to any kind of experiment we define.
If we want to apply custom gate
my_calibration = BackendCalibrations(backend)
basis_gates = backend.configurations().basis_gates + ["my_su4_gate"]

my_experiment = qiskit_experiments.MyExperiment(**exp_options)
my_experiment.set_transpiler_options(basis_gates=basis_gates)
result = my_experiment.run(my_calibration.export_backend(basis_gates=basis_gates))

Again, this doesn't require any custom logic. For example, we can run QV experiment with custom gates without modifying the codebase. This will add more values to the calibration module in terms of smooth integration of pulse and algorithm-level experiment.
It is noteworthy that the backend exported by the BackendCalibrations is a standard backend object. This means we can calibrate specific backend, share the experiment with the team, and let other researchers use the custom gate in other qiskit algorithm modules.
Details and comments

[ ] Finalize spec, we have alternative #180
[ ] Merge https://github.com/Qiskit/qiskit-terra/pull/6759 (also we need to update meta package with experiment release)
[ ] Write TODO

The one thing that this methodology along with the terra PR will not allow us to do is inject calibrations for the custom gates we created in e.g. Rabi and Drag as, e.g., an xp pulse will sometimes be tied to a gate called Rabi and sometimes to a gate called Rp. It would be nice to simplify part of the circuit builders there.

Thanks @eggerdj . In experiments that may use custom gate name you always need to

backend = my_cal.export(basis_gates=["Rabi", "measure"])

exp = Rabi(qubit=0)
exp.set_transpile_options(basis_gates=["Rabi", "measure"])  # this can be overridden by self._default_transpile_options
exp.run(backend)

and it might be dynamically updated by self.set_transpile_options depending on configuration. I agree we can simplify the logic to manage gate name.

In experiments that may use custom gate name you always need to
backend = my_cal.export(basis_gates=["Rabi", "measure"])

exp = Rabi(qubit=0)
exp.set_transpile_options(basis_gates=["Rabi", "measure"])  # this can be overridden by self._default_transpile_options
exp.run(backend)

and it might be dynamically updated by self.set_transpile_options depending on configuration. I agree we can simplify the logic to manage gate name.

I agree with the need for basis_gates but it will miss the following situation. We have xp and x90p schedules in my_cals. Sometimes we want to run the Rabi experiment on xp and sometimes on x90p. This means we need to attach schedules with names that can change to a gate which is always called Rabi. To me it looks like we would need to do:
backend = my_cal.export(basis_gates=["Rabi", "measure"], schedule_gate_map={"xp": "Rabi"})

exp = Rabi(qubit=0)
exp.set_transpile_options(basis_gates=["Rabi", "measure"])  # this can be overridden by self._default_transpile_options
exp.run(backend)

and to use the x90p we would do
backend = my_cal.export(basis_gates=["Rabi", "measure"], schedule_gate_map={"x90p": "Rabi"})

I don't see how we get around not using something like a schedule_gate_map in the export to backend method. Note that the schedule_gate_map is optional. I.e. if you do not specify it then xp is simply xp in the inst. map. Optionally one could also consider
backend = my_cal.export(basis_gates=["Rabi", "measure"], schedule_gate_map={"x90p": ["Rabi", "x90p"]})

in case we need, for example, x90p as both a Rabi and an x90p.


Update efficiency of the pipeline

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

This can help: https://gatk.broadinstitute.org/hc/en-us/articles/360036448572-GenomicsDBImport#--genomicsdb-vcf-buffer-size


SwiftUI discussion forum

In this issue, let's discuss fun and exciting things that we can build in SwiftUI, whether or not to make the library SwiftUI exclusive etc.
Personally, I think that the existing UIKit functionality should remain, but let's discuss what we can create in the future, using SwiftUI.

I had an amazing time rebuilding my keyboard apps in SwiftUI, but some things do not exist yet - for instance having control over a scrollview's offsets. The paged emoji keyboard was therefore not as straightforward to create as it could have been, but on the other hand..now we have it as a component, ready to be used :)
Porting some of the other views, like the collection based ones, to SwiftUI is probably not needed, since they aim to solve the very things that SwiftUI does so well - providing a more declarative way to build UI. So I'm not sure that we will have that many things in KK once it does full SwiftUI.

The SwiftUI-based demo keyboard is coming together nicely.  SwiftUI is without a doubt the future. 👍

I'm splitting this ticket into multiple ones, and mark them with the Swift 4 milestone.


Adds commonly used typefaces to storybook

Previous PR: https://github.com/artsy/emission/pull/1020
This adds commonly used typefaces in the new bidding flow:

GaramondBold
GaramondBoldItalic
GaramondRegular
GaramondSemibold
Unica77LLItalic
Unica77LLMedium
Unica77LLMediumItalic
Unica77LLRegular

Fails

:no_entry_sign:

No CHANGELOG added.

:no_entry_sign:

Missing Test Files:

src/lib/data/__tests__/fonts-tests.ts

If these files are supposed to not exist, please update your PR body to include "#skip_new_tests".

  Generated by :no_entry_sign: dangerJS


US050d-Add no longer required status and case event category

Trello
Confluence

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@27b833f). Click here to learn what that means.
The diff coverage is 0%.

@@          Coverage Diff           @@
##             master   #15   +/-   ##
======================================
  Coverage          ?    0%
======================================
  Files             ?    13
  Lines             ?   160
  Branches          ?     9
======================================
  Hits              ?     0
  Misses            ?   160
  Partials          ?     0

Impacted Files
Coverage Δ

...p/response/casesvc/representation/CategoryDTO.java
0% <0%> (ø)

...sponse/casesvc/representation/CaseGroupStatus.java
0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 27b833f...dbf6409. Read the comment docs.

 US050d: INT Manually change the response status for a given RU, Survey, CE to No Longer Required (L)


python310Packages.ml-collections: 0.1.0 -> 0.1.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.ml-collections is: ML Collections is a library of Python collections designed for ML usecases.
meta.homepage for python310Packages.ml-collections is: https://github.com/google/ml_collections
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.1.1 with grep in /nix/store/mizj3sfmyabj34s006m3ahankklckhjn-python3.10-ml-collections-0.1.1
found 0.1.1 in filename of file in /nix/store/mizj3sfmyabj34s006m3ahankklckhjn-python3.10-ml-collections-0.1.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.ml-collections
python311Packages.ml-collections

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mizj3sfmyabj34s006m3ahankklckhjn-python3.10-ml-collections-0.1.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.ml-collections https://github.com/r-ryantm/nixpkgs/archive/e02836f017315568845726168b5c5d2abe2eaf55.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mizj3sfmyabj34s006m3ahankklckhjn-python3.10-ml-collections-0.1.1
ls -la /nix/store/mizj3sfmyabj34s006m3ahankklckhjn-python3.10-ml-collections-0.1.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

python311Packages.ml-collections

1 package built:

python310Packages.ml-collections

Maintainer pings
cc @samuela for testing.

Result of nixpkgs-review pr 218634 run on x86_64-linux 1

1 package failed to build:

python311Packages.ml-collections

1 package built:

python310Packages.ml-collections

python311 version is failing due to a dependency failing to build:
error: builder for '/nix/store/nj5yjs1b38k1sjz6khiqz80bgvw3rv1x-python3.11-contextlib2-21.6.0.drv' failed with exit code 1;
       last 10 log lines:
       > Traceback (most recent call last):
       >   File "/build/contextlib2-21.6.0/test/test_contextlib.py", line 510, in test_typo_exit
       >     with mycontext():
       > TypeError: 'mycontext' object does not support the context manager protocol (missed __exit__ method)
       >
       > ----------------------------------------------------------------------
       > Ran 125 tests in 0.093s
       >
       > FAILED (errors=2)
       > /nix/store/c3f4jdwzn8fm9lp72m91ffw524bakp6v-stdenv-linux/setup: line 1593: pop_var_context: head of shell_variables not a function context
       For full logs, run 'nix log /nix/store/nj5yjs1b38k1sjz6khiqz80bgvw3rv1x-python3.11-contextlib2-21.6.0.drv'.
error: 1 dependencies of derivation '/nix/store/5j3999i6aqy6668s21557kbzx4rkmyyw-python3.11-ml-collections-0.1.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/m4jchsp6ln79aqd8rbk1xnns590y2ylx-review-shell.drv' failed to build


explicitly classify error cause during request/response streaming

Changes proposed in this PR

explicitly classify error cause during request/response streaming

Why are we making these changes?
We should correctly attribute streaming errors to the client or the backend. This assignment also has implications on instance blacklisting.

Ready for another round of review.


add concat_view

fixes #35
need tests

Other tests I would like to see:

(iter + 1 + 1 + 1) - 3 == iter
iter++, ++iter, iter--, --iter, mixture of these
size()
operator[]
assignment operators (-=, +=)
relational operators (for random access iterators)
concat(concat(...))
sort(concat(vec0, vec1)) -- is this well-formed? If so, what's the expected behavior, what are the examples of valid and invalid use-cases?

𝑺𝒖𝒑𝒆𝒓 𝑻𝒉𝒂𝒏𝒌𝒔


refactor: 💡 wasm size optimization

Changes:

minimize the dotlottie-rs dependencies

get rid of serde, json, and base64

dotlottie_player only cares about the extraction from zip and deserialization of some assets, so the serialization process is not needed. It's the concern of the dotlottie-fms crate, so we can have a lighter dotlottie_manager (aka dotlottie_loader) to help serve the dotLottie file assets.
refactor a few functions for size.

Updates:

reduced the original wasm size from 707kb to 618kb as of now 👀

Related #107

I am closing this pull request and will submit incremental pull requests that include micro optimizations for the WebAssembly binary instead