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

Updated GHA for LLVM 18 #31

Merged
merged 28 commits into from
Sep 3, 2024
Merged

Updated GHA for LLVM 18 #31

merged 28 commits into from
Sep 3, 2024

Conversation

gvrooyen
Copy link
Contributor

@gvrooyen gvrooyen commented Sep 2, 2024

It seems the latest Odin release requires LLVM 18, which made the current GHA test runner fail, despite the "Setup Odin" task being pinned to a specific commit hash.

This PR ensures that LLVM 18 is built before installing Odin.

Minor formatting changes to some other source files.

gvrooyen and others added 27 commits August 23, 2024 14:30
Completed the hello-world and leap exercises.
Updated configuration.
Completed the difference-of-squares practice exercise, and added the
`bin/format-all.sh` script that recursively searches for .odin files and
runs `odinfmt` on them.
All source files have been reformatted with the `odinfmt.json` spec.
`bin/format-all.sh` is now run automatically on commit.
The `test.yml` GitHub workflow now pushes any changes that it makes, so
that they persist in the repo.
`test.yml` now only attempts a commit and push if the automated
formatting actually changed any files.
The verify-exercises script now runs the individual test for both
concept and practice exercises, and is the default in the GitHub
workflow.
Tests were lifted from the Gleam track.
- The README now contains more thorough instructions on how to add a new
  exercise.
- Fixed a variable name in the test runner that caused the "test all
  solutions" loop to run multiple times when verifying solutions.
- Fixed bin/run-test.sh so that it doesn't delete the stub solution when
  a test fails.
- Restored exercises, and added a NotImplemented error condition for the
  stubs.
- Ran the code formatter on source files.
- Rehaul of the README to follow Python's example.
The workflow now uses a fixed commit hash to pull a specific release of
Odin. We now use Ubuntu 22.04 which has the libffi8 dependency, and add
clang as the only other dependency.
Added a check to bin/run-test.sh so that verifies that the stub solution
does *not* pass any tests. Fixed hello-world.odin to actually be a stub.
- Improved bin/run-test.sh to add more visible color coding to the
  output.
- Replaced NotImplemented error codes with a compile-time panic for
  procedures that have not yet been implemented.
- Fixed stubs that were actually complete examples.
- Exercises' unit tests were modified so that only a minimal subset of
  tests are initially enabled; the rest are skipped.
- The test runner was modified to automatically unskip all test cases
  before running the tests.
Tooling and CI set up + 1st four exercises (exercism#25)
@gvrooyen
Copy link
Contributor Author

gvrooyen commented Sep 3, 2024

@Nezteb Happy to merge? This is just a fix to the CI pipeline, which was still pulling the latest release, causing dependency failures. It's now locked to both the hash of setup-odin commit, and the specific Odin release tag

@Nezteb Nezteb merged commit 1d4e091 into exercism:main Sep 3, 2024
2 checks passed
gvrooyen added a commit to gvrooyen/odin that referenced this pull request Sep 3, 2024
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.

3 participants