Skip to content

Commit

Permalink
Merge branch 'main' into explicit-core
Browse files Browse the repository at this point in the history
  • Loading branch information
AJPfleger authored Dec 16, 2024
2 parents e17e48f + 9a2b74d commit f12fb17
Show file tree
Hide file tree
Showing 1,083 changed files with 20,904 additions and 12,664 deletions.
46 changes: 8 additions & 38 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,11 @@
PLEASE FOLLOW THE CHECKLIST BELOW WHEN CREATING A NEW PULL REQUEST. THE
CHECKLIST IS FOR YOUR INFORMATION AND MUST BE REMOVED BEFORE SUBMITTING THE PULL
REQUEST.
PLEASE DESCRIBE YOUR CHANGES.
THIS MESSAGE ENDS UP AS THE COMMIT MESSAGE.
DO NOT USE @-MENTIONS HERE!

## Checklist
--- END COMMIT MESSAGE ---

- [ ] Does the PR title follow the `<prefix>: title` scheme?
Any further description goes here, @-mentions are ok here!

The prefix must be one of:

- `fix`: for a bugfix
- `feat`: for a new feature
- `refactor`: for an improvement of an existing feature
- `perf`, `test`: for performance- or test-related changes
- `docs`: for documentation-related changes
- `build`, `ci`, `chore`: as appropriated for infrastructure changes

- [ ] Does this modify the public API as defined in `docs/versioning.rst`?

- [ ] Does the PR title contain a `!` to indicate a breaking change?
- [ ] Is there section starting with `BREAKING CHANGE:` in the PR body
that explains the breaking change?

- [ ] Is the PR ready to be merged?

- [ ] If not: is it marked as a draft PR?

- [ ] Does this PR close an existing issue?

- [ ] Is the issue correctly linked so it will be automatically closed
upon successful merge (See closing keywords link in the sidebar)?

- The CI will initially report a missing milestone. One of the maintainers will
handle assigning a milestone for book-keeping.

- An automated workflow will assign labels based on changed files, and whether
or not reference files were changed. These do not have to be set manually.

- If you push updates, and you know they will be superseded later on, consider adding
`[skip ci]` in the commit message. This will instruct the CI system not to run any
jobs on this commit.
- Use a *conventional commits* prefix: [quick summary](https://www.conventionalcommits.org/en/v1.0.0/#summary)
- We mostly use `feat`, `fix`, `refactor`, `docs`, `chore` and `build` types.
- A milestone will be assigned by one of the maintainers
73 changes: 4 additions & 69 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,51 +38,6 @@ jobs:
- name: Run pre-commit
run: pre-commit run --all-files --show-diff-on-failure

license:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Check
run: >
sudo apt-get install -y git
&& CI/check_license.py . --exclude "*thirdparty/*"
include_guards:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Check
run: >
CI/check_include_guards.py . --fail-global --exclude "*thirdparty/*"
pragma_once:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check
run: >
CI/check_pragma_once.sh
type_t:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Check
run: >
CI/check_type_t.py . --exclude "thirdparty/*"
boost_test_macro:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check
run: >
CI/check_boost_test_macro.sh
smearing_config:
runs-on: ubuntu-latest
steps:
Expand All @@ -93,29 +48,7 @@ jobs:
- name: Check
run: >
CI/check_smearing_config.py .
cmake_options:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Check
run: >
docs/parse_cmake_options.py CMakeLists.txt --write docs/getting_started.md --verify
spelling:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install codespell
run: >
pip install codespell==2.2.5
- name: Check
run: >
CI/check_spelling
missing_includes:
runs-on: ubuntu-latest
steps:
Expand All @@ -126,6 +59,7 @@ jobs:
- name: Check
run: >
CI/missing_include_check.sh
fpe_masks:
runs-on: ubuntu-latest
steps:
Expand All @@ -135,10 +69,11 @@ jobs:
python-version: '3.12'
- name: Install dependencies
run: >
pip install -r CI/requirements_fpe_masks.txt
pip install -r CI/fpe_masks/requirements.txt
- name: Check
run: >
CI/check_fpe_masks.py --token ${{ secrets.GITHUB_TOKEN }}
unused_files:
runs-on: ubuntu-latest
steps:
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/milestone.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Check PR milestone

on:
pull_request_target:
types: [milestoned, demilestoned, opened, reopened]
branches:
- main

jobs:
check_milestone:
if: ${{ github.event.issue.pull_request || github.event.pull_request }}

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: "Check for milestone on PR"
uses: actions/github-script@v7
with:
script: |
let milestone = context.payload.pull_request.milestone;
if(context.payload.action === 'opened' || context.payload.action === 'reopened') {
if(milestone !== null) {
core.notice(`Milestone is ${milestone.title}`);
} else {
const milestones = await github.rest.issues.listMilestones({
owner: context.repo.owner,
repo: context.repo.repo,
state: "open"
});
for (const default_milestone of milestones.data) {
if (default_milestone.title === "next") {
core.notice(`No milestone set, setting default milestone: ${default_milestone.title}`);
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
milestone: default_milestone.number
});
return;
}
}
core.warning("Could not find default milestone named 'next'");
}
}
else {
if(milestone !== null) {
core.notice(`Milestone is ${milestone.title}`);
} else {
core.setFailed("No milestone: Please add a version milestone");
}
}
76 changes: 76 additions & 0 deletions .github/workflows/update-pip-requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Update Pip Requirements

on:
workflow_dispatch: # Allow running on-demand
schedule:
# Runs every Sunday at 1:23 UTC
- cron: '23 1 * * 0'

jobs:
update-pip-requirements:
# This action checks all monitored (specified in `folder_list` below) requirements.in
# files and generates a new requirements.txt file with pip-compile. If any
# requirements changed, a PR is created with the changes.
runs-on: ubuntu-latest
env:
# This branch will receive updates each time the workflow runs
# It doesn't matter if it's deleted when merged, it'll be re-created
BRANCH_NAME: auto-dependency-upgrades
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install pip-tools
run: pip install pip-tools

- name: Compile all requirements.txt
run: |
# Update this list after adding/removing requirements-files
folder_list=(
CI/clang_tidy
CI/fpe_masks
docs
Examples/Python/tests
Examples/Scripts
)
for folder in "${folder_list[@]}"; do
pip-compile "${folder}/requirements.in" > "${folder}/requirements.txt"
done
- name: Detect changes
id: changes
run:
# This output boolean tells us if the dependencies have actually changed
echo "count=$(git status --porcelain=v1 2>/dev/null | wc -l)" >> $GITHUB_OUTPUT

- name: Commit & push changes
# Only push if changes exist
if: steps.changes.outputs.count > 0
run: |
git config user.name github-actions
git config user.email [email protected]
git add .
git commit -m "Weekly Update: Regenerate requirements.txt"
git push -f origin ${{ github.ref_name }}:$BRANCH_NAME
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Open pull request if needed
if: steps.changes.outputs.count > 0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Only open a PR if the branch is not attached to an existing one
run: |
PR=$(gh pr list --head $BRANCH_NAME --json number -q '.[0].number')
if [ -z $PR ]; then
gh pr create \
--head $BRANCH_NAME \
--title "chore: automated python requirements upgrades" \
--body "Full log: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
else
echo "Pull request already exists, won't create a new one."
fi
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ genConf
x86_64-slc6-gcc48-opt
x86_64-slc6-gcc49-opt
.*
build*
/build*
.asetup.save

#json output
Expand All @@ -30,7 +30,7 @@ build*

# dont ignore hidden configs
!.clang-format
!.github/**
!.github
!.gitignore
!.gitlab-ci.yml
!.clang-tidy
Expand Down
Loading

0 comments on commit f12fb17

Please sign in to comment.