Skip to content
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

Port ci from travis to github actions #352

Merged
merged 15 commits into from
Jul 26, 2023

Conversation

jhorstmann
Copy link
Contributor

This sets up github actions workflows that should run the same tests as were previously setup for travis ci. Luckily none of the shell scripts needed changing, only a new set of yaml files.

There are a few FIXME issues, where I could use some help or which could maybe be solved in followup:

  • The toolchain version is currently pinned, this should probably be reverted in Stop using old-style simd_shuffle #350
  • Examples are disabled because they were running too long. Maybe this is only a single example which can be excluded or whose parameters can be changed. I was not patient enough for the scalar fannkuch example to finish and see how long it actually takes.
  • Docs are not yet published, there are some travis specific environment variables in dox.sh that I haven't looked into yet
  • The ispc feature for the benchmarks is currently disabled, because I haven't found an easy way to add the binary to the PATH
  • The required jobs should be setup using the github ui, I think this requires the jobs to be run once in the master branch

There is a mostly unrelated change in the instruction verification tests for vector rotates, that turned out to be a red herring. The verify tests for i586 and i686 were failing because the verifier did not expect a call instruction in the code. That call instruction however was only needed to support relocations, the code was getting inlined correctly. However, I think the target features are more correct after the change, the 128bit type m64x2 should require avx512vl, the other two tests use 512bit vectors where avx512f should suffice.

@jhorstmann
Copy link
Contributor Author

The last run of the actions can also be seen in my fork: https://github.com/jhorstmann/packed_simd/actions
Would be nice if these could be somehow compared with the last successful run in travis. Especially the wrong results in some of the mips or powerpc tests are a bit worrying.

Copy link
Contributor

@workingjubilee workingjubilee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, this looks great! Thank you!

.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/run-ci-script.yml Outdated Show resolved Hide resolved
@workingjubilee workingjubilee merged commit ffce298 into rust-lang:master Jul 26, 2023
@workingjubilee
Copy link
Contributor

Oof, this has some errors on master, judging by https://github.com/rust-lang/packed_simd/actions/runs/5673019417

@workingjubilee
Copy link
Contributor

#355 gets us half of the way there.

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.

None yet

2 participants