37 Commits

Author SHA1 Message Date
Bobby R. Bruce
644ad3cdb0 misc,tests: Fix incorrect date assignment in Actions 2024-10-18 14:59:16 -07:00
Bobby R. Bruce
c1c5147e53 tests,misc: Remove edited from PR Action trigger list (#1654)
`edited` is what forces a re-run of our tests when the PR title is
updated and other minor metadata stuff. I believe all changes to the
code are covered by the remainder. `synchronize` is means the PR is
triggered with the when the this PR is from (in this case my forked gem5
repo) is synced with the PR branch here. This covers the vast majority
of cases we care about. `opended` covers for the case where the PR is
created and `ready_for_review` for when something moves out of a draft.
2024-10-10 10:13:56 -07:00
Bobby R. Bruce
cc0eb12e9a misc,tests: Add cache of ALL/gem5.opt to ci-test.yaml (#1595)
Where appropriate utilize caching of ALL/gem5.opt or VEGA_X86/gem5.opt.
The cache key is just the date returned by the runner. This is unlikely
the most efficient solution but it is simple and difficulties were
encountered when attempting to create a hash of  This solution will do
for now.
2024-10-09 06:24:57 -07:00
Bobby R. Bruce
28a6ca201b misc,tests: Remove Gerrit ID check from CI Workflow
Change-Id: I86933f3b315f3233e135de2e32498c1641f7443e
2024-08-22 04:24:56 -07:00
Bobby R. Bruce
0857442e44 util-docker: Cleanup, refactor, better document Dockerfiles (#1292)
* Removes the "docker-compose.yaml" in favor of "docker-bake.hcl". This
uses the `docker buildx` tool which has the advantage of enabling
multi-platformm builds where desired. By default all images are built
targeting `linux/arm64`, `linux/amd64` and `linux/riscv64` as targets
with the exception of the GPU images where only `linux/amd64` makes
sense.
* Remove unused/older Docker build targets (these can easily be re-added
but they were not regularly built or have any current usage).
* Update "README.md" to better describe these Dockerfiles and how they
are built.
* Simplify GCC and Clang compiler images. Each uses the Ubuntu 24.04 All
Deps image as a base then specialized the compiler on top.
* To simply things, all compiler versions are built from 24.04. This
means **narrowing the supported versions from GCC v10 to v14 and Clang
v14 to v18**.
* Fix some bugs in the "docker-bake.hcl" thus ensuring all targets may
be built from it.
* Cleanup the systemc and sst images: reducing their size and building
them off the common 24.04 ubuntu base image.
2024-08-20 09:45:47 -07:00
Bobby R. Bruce
f600db4a98 gpu-compute,tests: Move GPU tests to testlib (#1270)
A new host tag `gcn_gpu` has been added. This allows for selection of
those GPU tests which depend upon the gcn-gpu docker image to run.

In addition to this, the square GPU tests has been moved to the CI
tests. This ensures some GPU code is compiled and run on every PR.
2024-08-19 10:58:06 -07:00
Bobby R. Bruce
bef452ce72 misc,tests: Update supported GCC and Clang compilers
- GCC: v10 to v14
- Clang: v14 to v18

Change-Id: I6cd1686ffff0f08686a231b6b4936da343d53831
2024-08-13 16:09:06 -07:00
Bobby R. Bruce
09781fd78f misc: Update dummy jobs for workflows
These give us clear indications if a workflow has passed or failed.

Change-Id: If61b9ac5dc4d2da54b4ad68e427b149bbcb4a30b
2024-06-22 12:58:35 -07:00
Bobby R. Bruce
dd2689905f misc,tests: Remove zip step from Workflows (#1048)
This is not needed with upload-artifact v4 directories are archived and
compressed by default.

This zip step was also causing Daily/Weekly test failures due to not
running `apt update` before the `apt install` for the zip utility. Ergo
this patch fixes these errors.
2024-04-21 09:15:20 -07:00
Bobby R. Bruce
29d56d3d65 misc,tests: Add Pyunit tests to CI GitHub Action Workflow
Due to an oversight, the PyUnit tests were not being run as part of the
gem5 CI tests. This was because they are located in "tests/pyunit"
instead of "tests/gem5", where the CI GitHub Action workflow searched
for tests to run and where all other tests reside.

This adds the Pyunit tests as a seperate job in the CI GitHub Action's
workflow.

Change-Id: I63d93571fde11c19bf3d281c034eddf4b455ae4e
2024-04-18 17:33:30 -07:00
Bobby R. Bruce
cbf0334762 misc: Fix jq install for testlib-quick-matrix (#1038) 2024-04-18 17:30:53 -07:00
Bobby R. Bruce
1aa0bf8ec6 tests,github: Update CI Tests' GitHub Actions versions (#1021) 2024-04-15 13:35:33 -07:00
Bobby R. Bruce
56a2346b8d tests,util-docker,github: Add Ubuntu 24.04 Docker image & updated tests/actions to use it (#1018)
This ensures gem5 compiles and runs in 24.04 environments. A necessary
PR, for ensuring gem5 support Ubuntu 24.04 (related issue: #909)
2024-04-15 13:34:22 -07:00
Bobby R. Bruce
630f3822b8 github: Update 'ubuntu-22.04' to 'ubuntu-latest' (#1022)
There was some inconsistency in the GitHub Workflow files on using
'ubuntu-latest' (which gets the latest Ubuntu version) or
'ubuntu-22.04'. To keep things consistent 'ubuntu-latest' is now used in
all cases. This also saves us updating workloads upon release of a new
Ubuntu version.
2024-04-15 09:55:56 -07:00
Bobby R. Bruce
b986c542ca tests,misc: Set pre-commit/action to v3.0.1
v3.0.0 of pre-commit/action caused a deprecation warning in actions.
v3.0.1 was released to deal with this.

Change-Id: Ib5654e465565ad4356754ac097983aec4166b98f
2024-04-13 20:30:34 -07:00
Bobby R. Bruce
3f45a2d08d misc,tests: Up actions/setup-python version to v5
This was causing a deprecation warning in GitHub Actions.

Change-Id: I9ab147acf12e3763ab731769468ce5b1dc5e4dea
2024-04-13 20:20:26 -07:00
Bobby R. Bruce
05bc85aa9b misc: Update Update GitHub Actions to use 24.04 over 22.04
This change ensures all our tests run on our most recent supported LTS
release of Ubuntu.

In the case of compiler tests we still test 22.04 all-dep but test 24.04
all-dep and min-dep (i.e., we drop 22.04 min-dep as it's somewhat
redundant).

Change-Id: I63666d1017594b496523a48e5112a8994f57885f
2024-04-13 14:13:35 -07:00
Bobby R. Bruce
b310ddf79a misc: Upgrade {download/upload}-artifact to v4
v3 was causing a 'Node.js 16 actions are deprecated' error.

Note: download-artifact@v4 must be used with upload-artifact@v4 and
vice-versa.

Change-Id: Icb8ab6d27aed4557be95ce31dd89d4655010968e
2024-03-30 01:22:28 -07:00
Bobby R. Bruce
6f1d9b47e9 misc: Update actions/checkout from v3 to v4 (#836)
The `checkout` action now has a v4. v3 utilizes Node.js 16 which is now
deprecated by GitHub actions. Migrating to v4 is therefore encouraged.
2024-02-05 08:54:32 -08:00
Bobby R. Bruce
6ac6d0c340 tests,misc: Add "build/ALL/gem5.fast" Clang compilation to CI (#432)
While we do run compiler tests weekly, 9/10 the issue is a strict check
in clang we did not check before incorporating code into the codebase.

Therefore, running a clang compilation as part of our CI would help us
catch errors quicker.
2023-11-14 03:53:28 -08:00
Bobby R. Bruce
bf1c10d4b2 tests,misc: Update CI Tests 'testlib-quick' runs-on
Here it's more sensible to use a GitHub hosted runner. This job is
miniscule and is used to check the other tests have completed
successfully. It makes sense for this not to be on our own self-hosted
runner.

Change-Id: I5377e025334d43eaedd0fc61e5c708ba61255d28
2023-10-12 07:37:11 -07:00
Bobby R. Bruce
dc38a801b7 Merge branch 'develop' into workflows-for-new-runners 2023-10-09 23:10:18 -07:00
Bobby R. Bruce
fa8c9414b2 misc,python: Run pre-commit run --all-files
This applies the automatical formatting to the .yaml files.

Change-Id: I10d067ba65722aca8aaf64a62b42ae57de468e75
2023-10-09 13:20:25 -07:00
Bobby R. Bruce
243a261491 tests: Update Testlib CI tests to use multiheading
These were previously only running on single-threaded machines. Now
they'll be running on 4-core VMs so may as well run tests in parallel.

Change-Id: I7ee86512dc72851cea307dfd800dcf9a02f2f738
2023-10-09 09:56:32 -07:00
Bobby R. Bruce
70f8c49e8b tests,misc: Remove 'run' and 'build' labels
All runners are now equal, these labels are pointless.

Change-Id: I9d5fb31e20e95d30e9726d4bf0353dc87af614d7
2023-10-09 09:56:25 -07:00
Bobby R. Bruce
561f3bd75b misc,tests: Split testlib CI Tests to one dir-per-job
This splits the CI Tests to one job per sub-directory in "tests/gem5"
via a matrix.

Advantages:
* We can utilize more runners to run the quick tests. This should mean
  tests run quicker.
* This approach does not require editing of the workflow as more tests
  are added or taken away.
* There is now an output artifact for each directory in "tests/gem5"
  instead of one for the entriety of every quick test in "tests".

In addition:
* The artifact retention for the test outputs has been increased to 30 days.
* The output test artifacts have been renamed to be more descriptive of
  the job, run, attempt, directory run, and the status.
* The 'tar' step has been removed. GitHub's 'action/artifact' can handle
  directories.

Change-Id: I5b3132b424e3769d81d9cd75db2a8c59dbe4a7e5
2023-09-19 19:35:58 -07:00
Bobby R. Bruce
040f4d5ae0 misc,tests: Use GitHub Docker registry for 22.04 all-deps
Via this workflow we now can build and push our docker images to
the GitHub Docker container registry:
26a1ee4e61/.github/workflows/docker-build.yaml

GitHub does not charge for downloads to runners (hosted or self-hosted).
This can therefore save the project money if we download from GitHub's
Docker reigstry over Google Cloud's.

This is a test to ensure this works as intended.

Change-Id: Iccdb1b7a912f1e0a0d82b7f888694958099315b3
2023-09-14 01:04:05 -07:00
Bobby R. Bruce
12c6742607 misc: Fix CI GitHub Action to stop if Workflow re-triggered
This ensures that if the CI tests are running for a PR, and a new
workflow is triggered (typically by pushing/rebasing the PR) then the
older workflow is cancelled.

Change-Id: Ifa172bdbdac09c5a91abb41a0162c597445e4e2e
2023-09-05 20:49:28 -07:00
Melissa Jost
d640c17f75 misc: Update CI tests to not run on draft PRs
This updates all the jobs for our CI tests to make sure they
don't run tests on draft pull request, and only trigger when
ready for review

Change-Id: I3fe7ae373c39fc6ef594c0c71c6f10e7319553d8
2023-08-25 10:27:08 -07:00
Melissa Jost
8b6912f331 misc: Update where runners are cleaned in workflow files
This moves the clean runner step in our yaml files to be at the
beginning of a job, so that if a runner goes down and is
unable to clean at the end, we can ensure that
subsequent jobs still run as expected.

Change-Id: Iba52694aefe03c550ad0bfdb5b5f938305273988
2023-08-07 15:05:32 -07:00
Melissa Jost
6a360bd1bb misc: Update ci-tests.yaml to always clean runner
Adds line to make sure the runners are always cleaned whether
or not the previous tests pass

Change-Id: I980c0232305999fb3548464ea1b6eaeca7bcdbd6
2023-07-21 15:53:12 -07:00
Melissa Jost
424350f446 misc: Update CI test workflow (#88)
* misc: Update CI test workflow

This updates our CI tests to clean the runners after every
workflow, to make sure no hanging files cause problems for
future tests

Change-Id: Iff6a702bbc2e86a31e4c18ef9764a3cfd3af2f7d

* misc: Update scheduled workflows to clean runners

This updates our scheduled tests to clean up any remaining
files after running tests to avoid anything hanging for
future runs.

Change-Id: Icfdd5a0559337ad0e62d108a47f4e5a12e0db677

* misc: Fix spacing in workflow files

Some commands were incorrectly spaced

Change-Id: Id340dc77bfb5c5d579b5f1e5b3ddeabea4a35ea8
2023-07-18 10:27:32 -07:00
Melissa Jost
edc4ff3382 misc: Include body in check for Change-Id
Updates ci-tests.yaml to check the entire commit message for
the Change-Id, not just the subject.

Change-Id: Ia76c77d096617a6fe76ffea7f2bd8a4295ca14f7
2023-07-10 15:02:07 -07:00
Melissa Jost
ab0f43d290 misc: Update CI tests to only require 1 Change-Id
Since commits will be squashed and merged in GitHub, we only
require one of the commits to contain a Change-ID within a
pull request

Change-Id: I0fbb1c0e79009097456193fbe3c6fa20746e4805
2023-07-10 13:29:55 -07:00
Melissa Jost
05e7a68487 misc: Add runs-on line to CI tests
Adds missing line to CI tests

Change-Id: I34019d76648dc6025ac89cbec4605f17d2a5e3f7
2023-07-10 12:42:47 -07:00
Melissa Jost
3105f59544 misc: Update Change-Id Check
This updates the change-id code to refer to commit messages in
pull requests instead of on pushes.

Change-Id: I308f02b4616804b386140d5875a79878eccd721e
2023-07-10 12:25:38 -07:00
Melissa Jost
051801a7bf misc: Add workflow files to develop
This copies our .github folder from stable into the develop
branch, which allows the GitHub Actions workflows to run
on both branches

Change-Id: I864939f86f0fbd6d73676f137df2670d3eac1d1a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71860
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
2023-06-28 16:19:59 +00:00