diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 8aaaf2c..76ca6f7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,3 +1,9 @@ + + ## Description @@ -7,21 +13,44 @@ ### Issues Fixed or Closed + +#### Roadmap Issues + + + + ## 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) -- [ ] Dependency update (updates to dependencies) -- [ ] Documentation update (changes to documentation) -- [ ] Repository update (changes to repository files, e.g. `.github/...`) + +- [ ] **feat**: New feature (non-breaking change which adds functionality) +- [ ] **fix**: Bug fix (non-breaking change which fixes an issue) +- [ ] **docs**: Documentation only changes +- [ ] **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.) +- [ ] **refactor**: Code change that neither fixes a bug nor adds a feature +- [ ] **perf**: Code change that improves performance +- [ ] **test**: Adding missing tests or correcting existing tests +- [ ] **build**: Changes that affect the build system or external dependencies +- [ ] **ci**: Changes to CI configuration files and scripts +- [ ] **chore**: Other changes that don't modify src or test files +- [ ] **revert**: Reverts a previous commit +- [ ] **BREAKING CHANGE**: Introduces a breaking change (can be combined with any type above) + ## Checklist -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my own code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have added or updated the in code docstring/documentation-blocks for new or existing methods/components + +- [ ] Code follows the style guidelines of this project +- [ ] Code has been self-reviewed +- [ ] Code has been commented, particularly in hard-to-understand areas +- [ ] Code docstring/documentation-blocks for new or existing methods/components have been added or updated +- [ ] Unit tests have been added or updated for any new or modified functionality + +### AI Usage + +- [ ] **None**: No AI tools were used in creating this PR +- [ ] **Light**: AI provided minor assistance (formatting, simple suggestions) +- [ ] **Moderate**: AI helped with code generation or debugging specific parts +- [ ] **Heavy**: AI generated most or all of the code changes diff --git a/.github/workflows/_common-lint.yml b/.github/workflows/_common-lint.yml new file mode 100644 index 0000000..276fca5 --- /dev/null +++ b/.github/workflows/_common-lint.yml @@ -0,0 +1,23 @@ +--- +# This workflow is centrally managed in https://github.com/LizardByte/.github/ +# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in +# the above-mentioned repo. + +name: common lint +permissions: {} + +on: + pull_request: + +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + lint: + name: Common Lint + uses: LizardByte/.github/.github/workflows/__call-common-lint.yml@master + if: ${{ github.repository != 'LizardByte/.github' }} + permissions: + contents: read + pull-requests: read diff --git a/.github/workflows/common-lint.yml b/.github/workflows/common-lint.yml deleted file mode 100644 index 10692ad..0000000 --- a/.github/workflows/common-lint.yml +++ /dev/null @@ -1,267 +0,0 @@ ---- -# This action is centrally managed in https://github.com//.github/ -# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in -# the above-mentioned repo. - -# Common linting. - -name: common lint - -on: - pull_request: - branches: [master] - types: [opened, synchronize, reopened] - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - lint: - name: Common Lint - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.12' - - - name: Install dependencies - run: | - python -m pip install --upgrade \ - pip \ - setuptools \ - wheel \ - cmakelang \ - flake8 \ - nb-clean \ - nbqa[toolchain] - - - name: C++ - find files - id: cpp_files - run: | - # find files - found_files=$(find . -type f \ - -iname "*.c" -o \ - -iname "*.cpp" -o \ - -iname "*.h" -o \ - -iname "*.hpp" -o \ - -iname "*.m" -o \ - -iname "*.mm" \ - ) - ignore_files=$(find . -type f -iname ".clang-format-ignore") - - # Loop through each C++ file - for file in $found_files; do - for ignore_file in $ignore_files; do - ignore_directory=$(dirname "$ignore_file") - # if directory of ignore_file is beginning of file - if [[ "$file" == "$ignore_directory"* ]]; then - echo "ignoring file: ${file}" - found_files="${found_files//${file}/}" - break 1 - fi - done - done - - # remove empty lines - found_files=$(echo "$found_files" | sed '/^\s*$/d') - - echo "found cpp files: ${found_files}" - - # do not quote to keep this as a single line - echo found_files=${found_files} >> $GITHUB_OUTPUT - - - name: C++ - Clang format lint - if: always() && steps.cpp_files.outputs.found_files - uses: DoozyX/clang-format-lint-action@v0.18 - with: - source: ${{ steps.cpp_files.outputs.found_files }} - extensions: 'c,cpp,h,hpp,m,mm' - style: file - inplace: false - - - name: CMake - find files - id: cmake_files - if: always() - run: | - # find files - found_files=$(find . -type f -iname "CMakeLists.txt" -o -iname "*.cmake") - ignore_files=$(find . -type f -iname ".cmake-lint-ignore") - - # Loop through each C++ file - for file in $found_files; do - for ignore_file in $ignore_files; do - ignore_directory=$(dirname "$ignore_file") - # if directory of ignore_file is beginning of file - if [[ "$file" == "$ignore_directory"* ]]; then - echo "ignoring file: ${file}" - found_files="${found_files//${file}/}" - break 1 - fi - done - done - - # remove empty lines - found_files=$(echo "$found_files" | sed '/^\s*$/d') - - echo "found cmake files: ${found_files}" - - # do not quote to keep this as a single line - echo found_files=${found_files} >> $GITHUB_OUTPUT - - - name: CMake - cmake-lint - if: always() && steps.cmake_files.outputs.found_files - run: | - cmake-lint --line-width 120 --tab-size 4 ${{ steps.cmake_files.outputs.found_files }} - - - name: Docker - find files - id: dokcer_files - if: always() - run: | - found_files=$(find . -type f -iname "Dockerfile" -o -iname "*.dockerfile") - - echo "found_files: ${found_files}" - - # do not quote to keep this as a single line - echo found_files=${found_files} >> $GITHUB_OUTPUT - - - name: Docker - hadolint - if: always() && steps.dokcer_files.outputs.found_files - run: | - docker pull hadolint/hadolint - - # create hadolint config file - cat < .hadolint.yaml - --- - ignored: - - DL3008 - - DL3013 - - DL3016 - - DL3018 - - DL3028 - - DL3059 - EOF - - failed=0 - failed_files="" - - for file in ${{ steps.dokcer_files.outputs.found_files }}; do - echo "::group::${file}" - docker run --rm -i \ - -e "NO_COLOR=0" \ - -e "HADOLINT_VERBOSE=1" \ - -v $(pwd)/.hadolint.yaml:/.config/hadolint.yaml \ - hadolint/hadolint < $file || { - failed=1 - failed_files="$failed_files $file" - } - echo "::endgroup::" - done - - if [ $failed -ne 0 ]; then - echo "::error:: hadolint failed for the following files: $failed_files" - exit 1 - fi - - - name: Python - flake8 - if: always() - run: | - python -m flake8 \ - --color=always \ - --verbose - - - name: Python - nbqa flake8 - if: always() - run: | - python -m nbqa flake8 \ - --color=always \ - --verbose \ - . - - - name: Python - nb-clean - if: always() - run: | - output=$(find . -name '*.ipynb' -exec nb-clean check {} \;) - - # fail if there are any issues - if [ -n "$output" ]; then - echo "$output" - exit 1 - fi - - - name: Rust - find Cargo.toml - id: run_cargo - if: always() - run: | - # check if Cargo.toml exists - if [ -f "Cargo.toml" ]; then - echo "found_cargo=true" >> $GITHUB_OUTPUT - else - echo "found_cargo=false" >> $GITHUB_OUTPUT - fi - - - name: Rust - setup toolchain - if: always() && steps.run_cargo.outputs.found_cargo == 'true' - uses: dtolnay/rust-toolchain@stable - with: - components: rustfmt - - - name: Rust - cargo fmt - if: always() && steps.run_cargo.outputs.found_cargo == 'true' - run: | - cargo fmt -- --check - - - name: YAML - find files - id: yaml_files - if: always() - run: | - # space separated list of files - FILES=.clang-format - - # empty placeholder - found_files="" - - for FILE in ${FILES}; do - if [ -f "$FILE" ] - then - found_files="$found_files $FILE" - fi - done - - echo "found_files=${found_files}" >> $GITHUB_OUTPUT - - - name: YAML - yamllint - id: yamllint - if: always() - uses: ibiqlik/action-yamllint@v3 - with: - # https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration - config_data: | - extends: default - rules: - comments: - level: error - document-start: - level: error - line-length: - max: 120 - new-line-at-end-of-file: - level: error - new-lines: - type: unix - truthy: - # GitHub uses "on" for workflow event triggers - # .clang-format file has options of "Yes" "No" that will be caught by this, so changed to "warning" - allowed-values: ['true', 'false', 'on'] - check-keys: true - level: warning - file_or_dir: . ${{ steps.yaml_files.outputs.found_files }} - - - name: YAML - log - if: always() && steps.yamllint.outcome == 'failure' - run: | - cat "${{ steps.yamllint.outputs.logfile }}" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/update-mirrors.yml b/.github/workflows/update-mirrors.yml deleted file mode 100644 index d8de57a..0000000 --- a/.github/workflows/update-mirrors.yml +++ /dev/null @@ -1,55 +0,0 @@ ---- -name: Update mirrors - -on: - schedule: - - cron: '0 20 * * *' - workflow_dispatch: - -jobs: - update-mirrors: - name: Update Mirrors (${{ matrix.source_repo }}) - runs-on: ubuntu-latest - strategy: - fail-fast: false - max-parallel: 2 - matrix: - include: - - source_repo: "gitlab.freedesktop.org/xorg/font/util.git" - target_repo: "github.com/LizardByte-infrastructure/font-util.git" - - source_repo: "gitlab.freedesktop.org/libevdev/libevdev.git" - target_repo: "github.com/LizardByte-infrastructure/libevdev.git" - - source_repo: "gitlab.freedesktop.org/xorg/lib/libfontenc.git" - target_repo: "github.com/LizardByte-infrastructure/libfontenc.git" - - source_repo: "gitlab.gnome.org/GNOME/libnotify.git" - target_repo: "github.com/LizardByte-infrastructure/libnotify.git" - - source_repo: "gitlab.freedesktop.org/xorg/lib/libxcvt.git" - target_repo: "github.com/LizardByte-infrastructure/libxcvt.git" - - source_repo: "gitlab.freedesktop.org/xorg/lib/libxfont.git" - target_repo: "github.com/LizardByte-infrastructure/libxfont.git" - - source_repo: "gitlab.freedesktop.org/xorg/lib/libxmu.git" - target_repo: "github.com/LizardByte-infrastructure/libxmu.git" - - source_repo: "gitlab.com/eidheim/Simple-Web-Server.git" - target_repo: "github.com/LizardByte-infrastructure/Simple-Web-Server.git" - - source_repo: "gitlab.com/AOMediaCodec/SVT-AV1.git" - target_repo: "github.com/LizardByte-infrastructure/SVT-AV1.git" - - source_repo: "gitlab.freedesktop.org/wayland/wayland-protocols.git" - target_repo: "github.com/LizardByte-infrastructure/wayland-protocols.git" - - source_repo: "gitlab.freedesktop.org/wlroots/wlr-protocols.git" - target_repo: "github.com/LizardByte-infrastructure/wlr-protocols.git" - - source_repo: "code.videolan.org/videolan/x264.git" - target_repo: "github.com/LizardByte-infrastructure/x264.git" - - source_repo: "bitbucket.org/multicoreware/x265_git.git" - target_repo: "github.com/LizardByte-infrastructure/x265_git.git" - - source_repo: "gitlab.freedesktop.org/xorg/app/xauth.git" - target_repo: "github.com/LizardByte-infrastructure/xauth.git" - - source_repo: "gitlab.freedesktop.org/xorg/xserver.git" - target_repo: "github.com/LizardByte-infrastructure/xserver.git" - steps: - - name: Clone source repo - run: git clone --bare https://${{ matrix.source_repo }} . - - - name: Push target repo - env: - GIT_TOKEN: ${{ secrets.GH_PAT }} - run: git push --mirror https://x-access-token:${GIT_TOKEN}@${{ matrix.target_repo }} diff --git a/profile/README.md b/profile/README.md index f7b575c..11dbf41 100644 --- a/profile/README.md +++ b/profile/README.md @@ -1,7 +1,7 @@

LizardByte (infrastructure)

-

Infrastructure monitoring for LizardByte

+

Infrastructure monitoring and mirrors for LizardByte

@@ -18,8 +18,6 @@
[ - Projects • - MirrorsDonateSocialSupport • @@ -27,270 +25,29 @@ ]
+## 💲 Donate -## ✨ Projects - -
- Status Pages - - - - - - - - - - - - - - - - - -
- -## 🔗 Mirrors - -[![Mirror Status](https://img.shields.io/github/actions/workflow/status/lizardbyte-infrastructure/.github/update-mirrors.yml.svg?branch=master&label=mirror%20status&logo=github&style=for-the-badge)](https://github.com/LizardByte-infrastructure/.github/actions/workflows/update-mirrors.yml?query=branch%3Amaster) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameUpstream RepoMirror
font-util - - GitLab Last Commit - - - - GitHub last commit - -
libevdev - - GitLab Last Commit - - - - GitHub last commit - -
libfontenc - - GitLab Last Commit - - - - GitHub last commit - -
libnotify - - GitLab Last Commit - - - - GitHub last commit - -
libxcvt - - GitLab Last Commit - - - - GitHub last commit - -
libxfont - - GitLab Last Commit - - - - GitHub last commit - -
libxmu - - GitLab Last Commit - - - - GitHub last commit - -
Simple-Web-Server - - GitLab Last Commit - - - - GitHub last commit - -
SVT-AV1 - - GitLab Last Commit - - - - GitHub last commit - -
wayland-protocols - - GitLab Last Commit - - - - GitHub last commit - -
wlr-protocols - - GitLab Last Commit - - - - GitHub last commit - -
x264 - - GitLab Last Commit - - - - GitHub last commit - -
x265_git - - BitBucket Last Commit - - - - GitHub last commit - -
xauth - - GitLab Last Commit - - - - GitHub last commit - -
xserver - - GitLab Last Commit - - - - GitHub last commit - -
+Want to support our work? You can donate to us via the following platforms: -## 💲 Donate [![GitHub Sponsors](https://img.shields.io/github/sponsors/lizardbyte?label=Github%20Sponsors&style=for-the-badge&color=green&logo=githubsponsors)](https://github.com/sponsors/LizardByte) [![Patreon](https://img.shields.io/badge/dynamic/json?color=green&label=Patreon&style=for-the-badge&query=patron_count&url=https%3A%2F%2Fapp.lizardbyte.dev%2Fdashboard%2Fpatreon%2FLizardByte.json&logo=patreon)](https://www.patreon.com/LizardByte) [![PayPal](https://img.shields.io/badge/donate-green.svg?style=for-the-badge&label=PayPal&message=Donate&color=green&logo=paypal)](https://www.paypal.com/paypalme/ReenigneArcher) ## 👥 Social -[![Discord](https://img.shields.io/badge/dynamic/json?labelColor=5865F2&color=5865F2&logoColor=ffffff&label=Discord&style=for-the-badge&query=approximate_member_count&url=https%3A%2F%2Fapp.lizardbyte.dev%2Fdashboard%2Fdiscord%2Finvite.json&logo=discord)](https://app.lizardbyte.dev/discord) -[![Facebook](https://img.shields.io/badge/dynamic/json?labelColor=1877F2&color=1877F2&&logoColor=ffffff&label=Facebook&style=for-the-badge&query=data.0.values.0.value&url=https%3A%2F%2Fapp.lizardbyte.dev%2Fdashboard%2Ffacebook%2Fpage.json&logo=facebook)](https://www.facebook.com/LizardByteDev) -[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/lizardbyte?labelColor=FF4500&color=FF4500&logoColor=ffffff&label=Reddit&style=for-the-badge&logo=reddit)](https://www.reddit.com/r/LizardByte) -[![X](https://img.shields.io/badge/X-brightgreen?style=for-the-badge&logo=x&labelColor=black&color=black)](https://twitter.com/LizardByteDev) -[![YouTube](https://img.shields.io/youtube/channel/subscribers/UCtSzs1U8B7yYX1uE58a6BxA?labelColor=FF0000&color=FF0000&label=YouTube&style=for-the-badge&logo=youtube)](https://www.youtube.com/c/LizardByteDev) + +[![Discord](https://img.shields.io/badge/discord-5865F2?style=for-the-badge&logo=discord&logoColor=ffffff)](https://app.lizardbyte.dev/discord) +[![Facebook](https://img.shields.io/badge/facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=ffffff)](https://www.facebook.com/LizardByteDev) +[![Reddit](https://img.shields.io/badge/reddit-FF4500?style=for-the-badge&logo=reddit&logoColor=ffffff)](https://www.reddit.com/r/LizardByte) +[![X](https://img.shields.io/badge/x-black?style=for-the-badge&logo=X&logoColor=ffffff)](https://twitter.com/LizardByteDev) +[![YouTube](https://img.shields.io/badge/youtube-FF0000?style=for-the-badge&logo=youtube&logoColor=ffffff)](https://www.youtube.com/c/LizardByteDev) ## ❔ Support + [![Support Center](https://img.shields.io/static/v1?style=for-the-badge&label=support+center&message=visit&color=success&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAADKAAAAygFrAxSyAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAArJJREFUSImt1U1oXUUYBuDn3uZi8GfR2LgQwRaLaRS6aVGhJaVuAhEUQ1CQWlwqdmcRFBR3LtzqStGim4IFiQaKUBe1/qAgWkVDrTVZaM0tCRgbm7T3zIyLnpv7c869acAXvsWcec/7znzzfTP0Q/KM4IKGFVe9J7m1L39TSPYJoobkqmRV8q+3Nysz0HMmMyGpiLTFI6XcP+2TTAnqat5xp8WNDVjqEie2flzHRU+LjomqEtY8a9Yeo5ag2mdv74oWugxeL/CiV0XVNs7dBhxuTl83SIZlpjQckFRAxd8yrwjk8YOtjneIz9ku2NnGacbW1jqT/aJpyZCIVTOSx1Vkos+kfGXJjIrUYbDFC0IhjQHTLVLwvWuSNckVyYpk2VP5zmoWRZckdc91iM+bNCe6IDkvOSeZNetnU+20qmCkcJjJGPjHbWJeSUGtLTXjovcFFUEmeEO0w6hR9zvRaRB9UWJwUFKz6t627yOSinnPSz4R3SK6Ipi0y4tGzStBxartMtOi3V1GJ0VJNJGP65Lzgv35uIHHjDhZJtwyaGLZTg27JS+L9pT0QGcER9znrX7inQZN/GVYclE0sF5BxThtl4OFqvrWIclLom2CjzQcLRrMGVSzItrSZwcLoo9F5/LbakgwIXqgi3esaLBgh2t+3zBFNxaXi3dRplHSPJuLVmoXi3fRXf4Q/bSBwIcYs2bIkkGZe0RHRPW8AAiSzGvFFMGvHpScEdV6mJyw15N5C7Zwyu2qDssMS2aM+6rcAH7xkORNYb1kUx7Nm/NH0RnB1+qOe0Iok+lt0MRZd2gYdNklN7lZ1aeivV09MeNhjxbK9oYMuvGlQ5IPShrvgHGfd9P7vWjlyHyDsnPZVkbv/aL1wpjfRGe7xJetOv3/GFQkwaTMKUEm+k4wYfL6G9yN/wCZz5LykptUmAAAAABJRU5ErkJggg==)](https://app.lizardbyte.dev/support) [![Status](https://img.shields.io/github/issues/LizardByte-infrastructure/upptime?style=for-the-badge&label=status&logo=upptime)](https://status.lizardbyte.dev/) ## 📐 Developers + [![Dev Status](https://img.shields.io/github/issues/LizardByte-infrastructure/upptime-dev?style=for-the-badge&label=status-dev&logo=upptime)](https://status-dev.lizardbyte.dev/) - [Contributing Docs](https://docs.lizardbyte.dev)