The main reason is to populate the cache, so that pull requests can
benefit from a spike cache even the very first time. (Caches populated
in one pull request are inaccessible to another one.)
Change-Id: If894f2ccfaadc740bd52e34be3024153626b9fbd
Signed-off-by: Tim Newsome <tim@sifive.com>
This patch separates the Spike tests into their own jobs and makes them run
regardless of the results of the previous test. Previously, if Spike32
tests failed, Spike64-2 tests did not even run. This can be an issue if new
tests are added in the riscv-tests repository which are not yet passing
on riscv-openocd.
Change-Id: I0bdaee5fbbba5582babab40f176cfab49660c246
Signed-off-by: Marek Vrbka <marek.vrbka@codasip.com>
* Multiple improvements to Spike smoke-test workflow
These changes have been made:
- use checkout action v3 (not v2) - silences a Github warning
- cache dependencies to speed-up the process (Spike + toolchain)
- reorder actions so that cached items are handled first
- move dependencies to /opt/riscv for easier caching
- archive logs from the tests (downloadable artifact)
- more descriptive names for some steps
- changed 'apt' to 'apt-get' to supress a warning
Change-Id: I5b8e9200c5d8cbaa3116bac565e009089bb6b36b
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
* Split cache for spike and toolchain
Change-Id: I423c4ba28e44ec5126786897135fb245e164c664
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
* Split cache for spike and toolchain - fix cache keys
Change-Id: I907bdb52f402b17a7829ea1d06cd395518de4cd3
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
* Empty commit to re-trigger the CI
Change-Id: I749d44d8f0dde09ce5adf6e2e1ab5a5324f4018f
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
---------
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
Co-authored-by: Jan Matyas <jan.matyas@codasip.com>
* workflow: Run checkpatch against pull request only
Instead of arbitrarily picking 20 changes.
Change-Id: I5ec488aa4faa0b06056aa91d0432cda1674967b7
Signed-off-by: Tim Newsome <tim@sifive.com>
* Display FETCH_HEAD in the log
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
Signed-off-by: Tim Newsome <tim@sifive.com>
---------
Signed-off-by: Tim Newsome <tim@sifive.com>
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
* Preserve artifact of Linux build, too.
That can be handy to e-mail to people who don't have a build setup.
Change-Id: I7b7e2d6f0033edf71f53211168f74b80ada64b97
Signed-off-by: Tim Newsome <tim@sifive.com>
* workflow: Run Linux build on Ubuntu 20.04, which is LTS.
This makes the binaries more useful.
Change-Id: I0cf6df68f03c4161222baa222c466fe0004ea769
Signed-off-by: Tim Newsome <tim@sifive.com>
* Use checkoutv3
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
Signed-off-by: Tim Newsome <tim@sifive.com>
---------
Signed-off-by: Tim Newsome <tim@sifive.com>
Co-authored-by: Jan Matyas <50193733+JanMatCodasip@users.noreply.github.com>
Libjaylink submodule disabled by default at
https://review.openocd.org/c/openocd/+/7129
--enable-internal-libjaylink config option will be deprecated soon.
So, building the source is a permanent solution.
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: Id06654d806a3a49f35e3ba41e9e4cc58c1a0d388
Reviewed-on: https://review.openocd.org/c/openocd/+/7552
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
During setup job in the GH actions, GH tries to resolve
all actions before starting to run the scripts.
It can not find 0.2.0 version inside
'dev-drprasad/delete-tag-and-release 'repo and action fails.
This patch fixes that error.
Also, switched to the latest ubuntu image
Hidapi version updated to 0.13.1
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I02af41f6189d5a28f874c9b008073d74de46b4ca
Reviewed-on: https://review.openocd.org/c/openocd/+/7551
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Choosing to grab the latest version of each component. I'd rather deal
with the rare failure that causes, than realize that we've been testing
against really old stuff.
Change-Id: I17321d70e2b54086e8f3fbb01744746633d7a119
Signed-off-by: Tim Newsome <tim@sifive.com>
* Fix checkpatch workflow: ignore changes in .github/
Ignore changes in .github/ directory when running checkpatch.
Checkpatch emits false alarms on substrings "CC:" found in *.yml
workflow files, apparently thinking it is a "Cc:" signature in
commit message.
Change-Id: Id977d5a8838797e4676758066af4825651c41a87
* Fix: Set proper debug_reason in deassert_reset()
The issue was visible for example when user's .cfg file ended
with "reset halt" command:
In such case, the hart would remain halted but the debug_reason would not be
updated and may retain an incorrect value, e.g. DBG_REASON_NOTHALTED.
In such cases, gdb_last_signal() would provide an incorrect reply to GDB.
Change-Id: Ie6f050295fb5cbe9db38b189c4bc385662acf5b4
Signed-off-by: Jan Matyas <matyas@codasip.com>
* Fix checkpatch workflow: add 'apt-get update'
Change-Id: Ic5843ec86d16a187d01970a3253caade3d13b7ab
Signed-off-by: Jan Matyas <matyas@codasip.com>
* Fix of Linux Build workflow: add missing apt-get update
Change-Id: I69cd1693b2ad5405574affe5b85e5c4c9c76e278
Signed-off-by: Jan Matyas <matyas@codasip.com>
* Minor improvements in Linux Build workflow
- Use parallel build (use -j for make)
- Check that the resulting OpenOCD executable can actually be launched (call openocd --version)
Change-Id: I6b8c56688a39cae436986954fbd517082dc8160d
Signed-off-by: Jan Matyas <matyas@codasip.com>
It requires libusb, and I'm not off-hand seeing a 32-bit libusb to link
with.
Change-Id: Ib676982b9c17369326ffc63eab5ef895add48569
Signed-off-by: Tim Newsome <tim@sifive.com>
Current github build for windows is using dynamic libraries,
but libftdi is requiring libusb static libraries.
As a quick solution, just get rid of libftdi till it can be linked without
static libusb.
Change-Id: I9c7cb0b8853459ca48589674498403e255ade5cc
Reported-by: Xiaofan <xiaofanc@gmail.com>
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6384
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Tested-by: jenkins
During the build of the OpenOCD snapshot via GitHub Actions, ensure that
the local package database is first updated, prior to installing any
packages via apt-get install. Otherwise the apt-get install could fail.
Change-Id: If3c29faeb1496d5e2be75350f6352575b1f3a42e
Signed-off-by: Jan Matyas <matyas@codasip.com>
Reviewed-on: http://openocd.zylin.com/6378
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-by: Tim Newsome <tim@sifive.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Otherwise they don't happen if somebody makes a PR from a different
fork.
Change-Id: Ic09eb8a556e2dfbc0900e3df9f07cf7aff3d5309
Signed-off-by: Tim Newsome <tim@sifive.com>
* Copy snapshot workflow from mainline.
Travis died. We need something that checks OpenOCD builds.
Change-Id: I7c018caaa3a13884fc526733271697bc90edc891
Signed-off-by: Tim Newsome <tim@sifive.com>
* Run checkpatch like we used to do with travis.
Nervous about this because upstream often messes things up.
Change-Id: I0ca0229ea2bd4422d7ffe4800e8861acc716cf56
Signed-off-by: Tim Newsome <tim@sifive.com>
* Fetch more, install filterdiff.
Change-Id: I8cca61c5adc91b845619f2cc89accbb5217ce73a
Signed-off-by: Tim Newsome <tim@sifive.com>
* It's patchutils, not filterdiff.
Change-Id: I2afe78bc4153462283a61571e15ee147f9f20b10
Signed-off-by: Tim Newsome <tim@sifive.com>
* Fetch more revisions.
Change-Id: Ieb5269494721f7b78d93d67c502203f1b1fbbba7
Signed-off-by: Tim Newsome <tim@sifive.com>
* gnulib no longer exists.
Change-Id: I97fc797c99f19f6b504952f7cb9c7072181c1e72
Signed-off-by: Tim Newsome <tim@sifive.com>
* Working on Linux build.
Change-Id: I6b70fbf5bd2dbb5f1540d0d929310b29b312566e
Signed-off-by: Tim Newsome <tim@sifive.com>
* Don't actually publish any artifacts.
Change-Id: Ic363744e0530288f3f78268d1becfbfb6b47b505
Signed-off-by: Tim Newsome <tim@sifive.com>
* Add 32-bit build?
Change-Id: I44866e0da539db7b8e3bd0536d305bee0595a301
Signed-off-by: Tim Newsome <tim@sifive.com>
* Fix environment.
Change-Id: I19c3ef2cc886350db243a07185d2441ca9328dfa
Signed-off-by: Tim Newsome <tim@sifive.com>
* Fix syntax error.
Change-Id: I80ba08d9929d4c2f0e57b393b6b53462202f5bce
Signed-off-by: Tim Newsome <tim@sifive.com>
* More syntax error.
Change-Id: I24c5270683626b7007f9c100f1a36c9fa28a3405
Signed-off-by: Tim Newsome <tim@sifive.com>
* Shooting in the dark trying to fix problem.
Change-Id: Iecb3dc67ec6a0b932167b65dd0a5b82da9a1518f
Signed-off-by: Tim Newsome <tim@sifive.com>
* More syntax fixing.
Change-Id: I01f014f38e742b9a6c0d7c2e5b31058536572506
Signed-off-by: Tim Newsome <tim@sifive.com>
* Install clang.
Signed-off-by: Tim Newsome <tim@sifive.com>
Change-Id: I1d6828554ade149f7319f0797238a4e23f073a25
* Store config.log
Change-Id: I8275341de2c042ef32c6d57687c420b6dc53c8ab
Signed-off-by: Tim Newsome <tim@sifive.com>
* Install gcc-multilib
Change-Id: I08f233f58f3a4cbc89ae5dd0314d99319bf5724c
Signed-off-by: Tim Newsome <tim@sifive.com>
* Check final executable.
Intentionally supposed to fail.
Change-Id: I003dba85e766e3cf3ef4d6925d96f5b09a9fe80f
Signed-off-by: Tim Newsome <tim@sifive.com>
* All done!
Change-Id: I37ed2142082fdbce01157e0989c4e2122229abb7
Signed-off-by: Tim Newsome <tim@sifive.com>
this commit extends the existing snapshot action to create a release named
'latest' with the built binaries for windows.
this 'latest' release will be updated after every push to github.
Change-Id: I75a64c598169241743add3ac9aa7a0337fbab7f2
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/6127
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
this fix permits to add correctly the generated artifact (windows binaries)
into the release section.
Change-Id: Ia982370d3a1e08c623ebcabb5ac97e9fb49d00e0
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/6047
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Add `riscv info` command. Final output is "TCL format" and looks like this:
```
hart.xlen 64
hart.trigger_count 4
dm.abits 6
dm.progbufsize 2
dm.sbversion 0
dm.sbasize 0
dm.sbaccess128 0
dm.sbaccess64 0
dm.sbaccess32 0
dm.sbaccess16 0
dm.sbaccess8 0
```
* Add `riscv info` command.
This command displays some basic information that OpenOCD has detected
about the target. The output is displayed in YAML so it can easily be
parsed. Example of current output:
```
Hart:
XLEN: 32
trigger count: 4
Debug Module:
abits: 6
progbufsize: 2
sbversion: 0
sbasize: 0
sbaccess128: 0
sbaccess64: 0
sbaccess32: 0
sbaccess16: 0
sbaccess8: 0
```
Change-Id: If920c083ff6ec9f482c50f913cd8ceaa62461217
Signed-off-by: Tim Newsome <tim@sifive.com>
* Disable workflow inherited from upstream.
Change-Id: Ifc5ed1b4f5ec2278b8bcf3279c9fd462e469fefa
Signed-off-by: Tim Newsome <tim@sifive.com>
* Switch from YAML to TCL "set array" input format.
Change-Id: I3833210e5bf6d7cffc9934c04ec5201ae7732ad8
Signed-off-by: Tim Newsome <tim@sifive.com>
* Remove indent in `riscv info` output.
That was getting a little too cute, and probably more confusing than
helpful.
Change-Id: Ie51416f53ab4b69294962f0565767d370db82867
Signed-off-by: Tim Newsome <tim@sifive.com>
According the CVE-2020-15228 documented in:
- https://github.com/advisories/GHSA-mfwh-5m23-j46w
- https://nvd.nist.gov/vuln/detail/CVE-2020-15228
the `set-env` commands will be disabled in the near future
and should be replaced by:
echo "FOO=BAR" >> $GITHUB_ENV
idem for `add-path`, should be replaced by:
echo "/path/to/add" >> $GITHUB_PATH
Change-Id: I725c9ccd861a0d1580ac22491b6d716ec65973d1
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5866
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This change could be used within OpenOCD GitHub forks.
Once workflow actions are enabled in the GitHub project, this workflow
will be run automatically on each push into OpenOCD.
This workflow will provide a neutral build of openocd for win32, then
the package will be available for download in Actions section.
Note: the artifact will be deleted after 90 day (actual GitHub rules)
If the push is a tag, the generated package will be uploaded to release
pane under the corresponding release, and it will resides forever.
The built openocd enables libusb1, hidapi and libftdi adapters,
and could be extended to cover more adapters and Oses
PS: ./contrib/cross-build.sh updated to build libftdi from source like
libusb1 and hidapi.
Change-Id: I290c8aa14a12548e2dcb6a0eee456430ea44ab9f
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5594
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>