-
Notifications
You must be signed in to change notification settings - Fork 94
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
Add RMC workflow file for GitHub Actions #31
Conversation
c164405
to
0646403
Compare
360631d
to
18e7517
Compare
scripts/setup/install_cbmc.sh
Outdated
@@ -0,0 1,4 @@ | |||
# Install CBMC 5.27 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs a copyright notice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need it also in the other scripts and the workflow file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
scripts/setup/install_cbmc.sh
Outdated
@@ -0,0 1,4 @@ | |||
# Install CBMC 5.27 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are ubuntu only. Either name them as such, or put them in an ubuntu folder
scripts/setup/install_ubuntu_deps.sh
Outdated
@@ -0,0 1,22 @@ | |||
# Install tools via `apt-get` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have an ubuntu version requirement here? If so, make that explicit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is supposed to work for Ubuntu 20.04.
scripts/setup/prepare_config_toml.sh
Outdated
@@ -0,0 1,8 @@ | |||
# Use config.toml template and set debugging options |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why don't we just set these in the example config.toml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some users may not want to do development work and just use the release version. In that case, we would have a different script for it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe have a config.toml.development and config.toml.release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modify the README.md to point tho this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Can we leave it for another PR? It's not necessary here, and have other changes in mind for it.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | ||
# SPDX-License-Identifier: Apache-2.0 OR MIT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the copyright needed in this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the set -
flags should apply to all scripts.
scripts/setup/install_llvm.sh
Outdated
@@ -0,0 1,12 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this move under the ubuntu folder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so. It can be used in other systems, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#!/bin/bash
################################################################################
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
################################################################################
#
# This script will install the llvm toolchain on the different
# Debian and Ubuntu versions
set -eux
scripts/setup/install_llvm.sh
Outdated
set -x | ||
set -e | ||
set -u |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, set -eux
is cleaner
scripts/setup/install_llvm.sh
Outdated
@@ -0,0 1,12 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#!/bin/bash
################################################################################
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
################################################################################
#
# This script will install the llvm toolchain on the different
# Debian and Ubuntu versions
set -eux
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
New lint: `disallowed_script_idents` This PR implements a new lint to restrict locales that can be used in the code, as proposed in #7376. Current concerns / unresolved questions: - ~~Mixed usage of `script` (as a Unicode term) and `locale` (as something that is easier to understand for the broad audience). I'm not sure whether these terms are fully interchangeable and whether in the current form it is more confusing than helpful.~~ `script` is now used everywhere. - ~~Having to mostly copy-paste `AllowedScript`. Probably it's not a big problem, as the list of scripts is standardized and is unlikely to change, and even if we'd stick to the `unicode_script::Script`, we'll still have to implement custom deserialization, and I don't think that it will be shorter in terms of the amount of LoC.~~ `unicode::Script` is used together with a filtering deserialize function. - Should we stick to the list of "recommended scripts" from [UAX #31](http://www.unicode.org/reports/tr31/#Table_Recommended_Scripts) in the configuration? *Please write a short comment explaining your change (or "none" for internal only changes)* changelog: ``[`disallowed_script_idents`]`` r? `@Manishearth`
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
Use xor to implement Neg::neg for floats
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
* Add RMC workflow file for GitHub Actions * Add multiple setup scripts used by workflow * Improvements for Actions worflow and setup scripts
Description of changes:
This PR adds
rmc.yml
in.github/workflows/
scripts/setup/
to enable regression testing using GitHub Actions.
The workflow will run on
push
andpull_request
changes using Ubuntu 20.04. We can extend this workflow to run on macOs or other systems in the future.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.