Skip to content

Commit

Permalink
chore: synced local './' with remote 'sync-files/anemoi/'
Browse files Browse the repository at this point in the history
  • Loading branch information
DeployDuck committed Jan 24, 2025
1 parent 4822922 commit 26b2ca9
Show file tree
Hide file tree
Showing 18 changed files with 402 additions and 151 deletions.
34 changes: 34 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
dependencies:
- changed-files:
- any-glob-to-any-file:
- "requirements.txt"
- "setup.py"
- "pyproject.toml"
- "Pipfile"
- "Pipfile.lock"
- "requirements/*.txt"
- "requirements/*.in"

documentation:
- changed-files:
- any-glob-to-any-file:
- "docs/**/*"
- "*.md"
- "*.rst"

config:
- changed-files:
- any-glob-to-any-file:
- ".pre-commit-config.yaml"
- "config/**/*"
- "settings/**/*"
- "*.ini"
- "*.cfg"
- "*.conf"

CI/CD:
- changed-files:
- any-glob-to-any-file:
- ".github/**/*"
- "tox.ini"
- ".coveragerc"
50 changes: 50 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
## Description

<!-- Provide a brief summary of the changes introduced in this pull request. -->

## Type of Change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update

## Issue Number

<!-- Link the Issue number this change addresses, ideally in one of the "magic format" such as Closes #XYZ -->

<!-- Alternatively, explain the motivation behind the changes and the context in which they are being made. -->

## Code Compatibility

- [ ] I have performed a self-review of my code

### Code Performance and Testing

- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I ran the complete Pytest test suite locally, and they pass
- [ ] I have tested the changes on a single GPU
- [ ] I have tested the changes on multiple GPUs / multi-node setups
- [ ] I have run the Benchmark Profiler against the old version of the code

<!-- In case this affects the model sharding or other specific components please describe these here. -->

### Dependencies

- [ ] I have ensured that the code is still pip-installable after the changes and runs
- [ ] I have not introduced new dependencies in the inference portion of the model
- [ ] I have tested that new dependencies themselves are pip-installable.

<!-- List any new dependencies that are required for this change and the justification to add them. -->

### Documentation

- [ ] My code follows the style guidelines of this project
- [ ] I have updated the documentation and docstrings to reflect the changes
- [ ] I have added comments to my code, particularly in hard-to-understand areas

<!-- Describe any major updates to the documentation -->

## Additional Notes

<!-- Include any additional information, caveats, or considerations that the reviewer should be aware of. -->
23 changes: 23 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# .github/release.yml
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes

changelog:
exclude:
labels:
- ignore-for-release
- no-changelog
authors:
- pre-commit-ci
categories:
- title: Breaking Changes 🛠
labels:
- "breaking change"
- title: Exciting New Features 🎉
labels:
- enhancement
- title: Config Changes 📑
labels:
- config
- title: Other Changes 🔗
labels:
- "*"
52 changes: 52 additions & 0 deletions .github/workflows/downstream-ci-hpc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Test downstream dependent packages on HPC

on:
# Trigger the workflow on push to main or develop, except tag creation
push:
branches:
- 'main'
- 'develop'
tags-ignore:
- '**'
paths-ignore:
- "docs/**"
- "CHANGELOG.md"
- "README.md"

# Trigger the workflow on pull request
pull_request:
paths-ignore:
- "docs/**"
- "CHANGELOG.md"
- "README.md"

# Trigger the workflow manually
workflow_dispatch: ~

# Trigger after public PR approved for CI
pull_request_target:
types: [labeled]
paths-ignore:
- "docs/**"
- "CHANGELOG.md"
- "README.md"

jobs:
# Run CI including downstream packages on self-hosted runners
downstream-ci:
name: downstream-ci
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
with:
anemoi-inference: ecmwf/anemoi-inference@${{ github.event.pull_request.head.sha || github.sha }}
codecov_upload: true
secrets: inherit

# Build downstream packages on HPC
downstream-ci-hpc:
name: downstream-ci-hpc
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
with:
anemoi-inference: ecmwf/anemoi-inference@${{ github.event.pull_request.head.sha || github.sha }}
secrets: inherit
21 changes: 21 additions & 0 deletions .github/workflows/pr-conventional-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Ensure Conventional Commit in PR title"

on:
pull_request_target:
types:
- opened
- edited
- synchronize
- reopened

permissions:
pull-requests: read

jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 changes: 43 additions & 0 deletions .github/workflows/pr-label-conventional-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Pull Request Labeler Conventional Commits"

on:
pull_request:
branches: [main]
types:
[opened, reopened, labeled, unlabeled]

jobs:
assign-labels:
runs-on: ubuntu-latest
name: Assign labels in pull request
if: github.event.pull_request.merged == false
steps:
- uses: actions/checkout@v3
- name: Assign labels from Conventional Commits
id: action-assign-labels
uses: mauroalderete/action-assign-labels@v1
with:
pull-request-number: ${{ github.event.pull_request.number }}
github-token: ${{ secrets.GITHUB_TOKEN }}
conventional-commits: |
conventional-commits:
- type: 'fix'
nouns: ['FIX', 'Fix', 'fix', 'FIXED', 'Fixed', 'fixed']
labels: ['bug']
- type: 'feature'
nouns: ['FEATURE', 'Feature', 'feature', 'FEAT', 'Feat', 'feat']
labels: ['enhancement']
- type: 'breaking_change'
nouns: ['BREAKING CHANGE', 'BREAKING', 'MAJOR']
labels: ['breaking change']
- type: 'documentation'
nouns: ['doc','docs','docu','document','documentation']
labels: ['documentation']
- type: 'build'
nouns: ['build','rebuild','ci']
labels: ['CI/CD']
- type: 'config'
nouns: ['config', 'conf', 'cofiguration']
labels: ['config']
maintain-labels-not-matched: false
apply-changes: true
13 changes: 13 additions & 0 deletions .github/workflows/pr-label-file-based.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "Pull Request Labeler File-based"
on:
- pull_request_target

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Assign labels from file changes
- uses: actions/labeler@v5
10 changes: 10 additions & 0 deletions .github/workflows/pr-label-public.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Manage labels of pull requests that originate from forks
name: Label PRs from public forks

on:
pull_request_target:
types: [opened, synchronize]

jobs:
label:
uses: ecmwf-actions/reusable-workflows/.github/workflows/label-pr.yml@v2
34 changes: 34 additions & 0 deletions .github/workflows/push-to-private.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Push to private repository

on:
push:
branches:
- main

jobs:
push_changes:
if: ${{ !contains(github.repository, 'private') }}
runs-on: ubuntu-latest

steps:
- name: Checkout source repository
uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true

- name: Set up Git configuration
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Setup SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.KEY_TO_PRIVATE }}

- name: Push changes to private repository
run: |
git remote add private [email protected]:${{ github.repository }}-private.git
git push --set-upstream private main
17 changes: 2 additions & 15 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,14 @@
---
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

name: Upload Python Package
name: Upload Python Package to PyPI

on:
release:
types: [created]

jobs:
quality:
uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
with:
skip-hooks: "no-commit-to-branch"

checks:
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
with:
python-version: ${{ matrix.python-version }}

deploy:
needs: [checks, quality]
uses: ecmwf-actions/reusable-workflows/.github/workflows/cd-pypi.yml@v2
secrets: inherit
11 changes: 6 additions & 5 deletions .github/workflows/python-pull-request.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

name: Code Quality checks for PRs
name: Code Quality checks and Testing

on:
push:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- main
schedule:
- cron: "9 2 * * 0" # at 9:02 on sunday

jobs:
quality:
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Run Release Please
on:
push:
branches:
- main
- hotfix

permissions:
contents: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
with:
# this assumes that you have created a personal access token
# (PAT) and configured it as a GitHub action secret named
# `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important).
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
# optional. customize path to .release-please-config.json
config-file: .release-please-config.json
# Currently releases are done from main
target-branch: ${{ github.ref_name }}
Loading

0 comments on commit 26b2ca9

Please sign in to comment.