From 91624cdae813475f84dc6d877f4573a5f1fe0822 Mon Sep 17 00:00:00 2001 From: rafal-gorecki Date: Wed, 27 Dec 2023 10:06:20 +0100 Subject: [PATCH] Add pre-commit --- .github/workflows/ros-docker-image.yaml | 31 ++++++----- .../workflows/vulcanexus-docker-image.yaml | 29 +++++----- .pre-commit-config.yaml | 55 +++++++++++++++++++ 3 files changed, 88 insertions(+), 27 deletions(-) create mode 100644 .pre-commit-config.yaml diff --git a/.github/workflows/ros-docker-image.yaml b/.github/workflows/ros-docker-image.yaml index 003e1f5..7476361 100644 --- a/.github/workflows/ros-docker-image.yaml +++ b/.github/workflows/ros-docker-image.yaml @@ -1,28 +1,32 @@ -name: Build/Publish ROS Docker Image +--- +name: Build/Publish ROS Docker Image -on: +on: workflow_dispatch: inputs: build_type: - description: "Is it a \"development\" or a \"stable\" release?" + description: Is it a "development" or a "stable" release? required: true - default: 'development' + default: development type: choice options: - development - stable target_distro: - description: "In case of \"stable\" release specify the ROS distro of the existing docker image (eg. humble)" + description: In case of "stable" release specify the ROS distro of the existing docker image (eg. + humble) type: string - default: "ardent" + default: ardent target_release: - description: "In case of \"stable\" release specify the version of the existing docker image (eg. 1.0.12)" + description: In case of "stable" release specify the version of the existing docker image (eg. + 1.0.12) type: string - default: "0.0.0" + default: 0.0.0 target_date: - description: "In case of \"stable\" release specify the date of the existing docker image in format YYYYMMDD (eg. 20220124)" + description: In case of "stable" release specify the date of the existing docker image in format + YYYYMMDD (eg. 20220124) type: string - default: "20131206" + default: '20131206' repository_dispatch: types: [rebuild] pull_request: @@ -36,7 +40,7 @@ jobs: strategy: fail-fast: false matrix: - ros-distro: [ "humble" ] # iron is not supported on arm + ros-distro: [humble] # iron is not supported on arm steps: @@ -47,12 +51,11 @@ jobs: uses: husarion-ci/ros-docker-img-action@v0.4 with: dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} - dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} + dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} build_type: ${{ inputs.build_type }} ros_distro: ${{ matrix.ros-distro }} - platforms: "linux/amd64, linux/arm64" + platforms: linux/amd64, linux/arm64 # variables important only for stable release target_distro: ${{ inputs.target_distro }} target_release: ${{ inputs.target_release }} target_date: ${{ inputs.target_date }} - diff --git a/.github/workflows/vulcanexus-docker-image.yaml b/.github/workflows/vulcanexus-docker-image.yaml index dc5f2d0..4889c1f 100644 --- a/.github/workflows/vulcanexus-docker-image.yaml +++ b/.github/workflows/vulcanexus-docker-image.yaml @@ -1,28 +1,32 @@ +--- name: Build/Publish Vulcanexus Docker Image on: workflow_dispatch: inputs: build_type: - description: "Is it a \"development\" or a \"stable\" release?" + description: Is it a "development" or a "stable" release? required: true - default: 'development' + default: development type: choice options: - development - stable target_distro: - description: "In case of \"stable\" release specify the ROS distro of the existing docker image (eg. humble)" + description: In case of "stable" release specify the ROS distro of the existing docker image (eg. + humble) type: string - default: "ardent" + default: ardent target_release: - description: "In case of \"stable\" release specify the version of the existing docker image (eg. 1.0.12)" + description: In case of "stable" release specify the version of the existing docker image (eg. + 1.0.12) type: string - default: "0.0.0" + default: 0.0.0 target_date: - description: "In case of \"stable\" release specify the date of the existing docker image in format YYYYMMDD (eg. 20220124)" + description: In case of "stable" release specify the date of the existing docker image in format + YYYYMMDD (eg. 20220124) type: string - default: "20131206" + default: '20131206' repository_dispatch: types: [rebuild] pull_request: @@ -36,7 +40,7 @@ jobs: strategy: fail-fast: false matrix: - ros-distro: [ "humble" ] # iron is not supported on arm + ros-distro: [humble] # iron is not supported on arm steps: @@ -47,13 +51,12 @@ jobs: uses: husarion-ci/ros-docker-img-action@v0.4 with: dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} - dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} + dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} build_type: ${{ inputs.build_type }} ros_distro: ${{ matrix.ros-distro }} - platforms: "linux/amd64, linux/arm64" - prefix: "vulcanexus-" + platforms: linux/amd64, linux/arm64 + prefix: vulcanexus- # variables important only for stable release target_distro: ${{ inputs.target_distro }} target_release: ${{ inputs.target_release }} target_date: ${{ inputs.target_date }} - diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..5a105ad --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,55 @@ +--- +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 + hooks: + - id: check-merge-conflict + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-xml + - id: check-added-large-files + - id: check-ast + - id: check-json + - id: name-tests-test + files: ^.*\/test\/.*$ + args: [--pytest-test-first] + + - repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + entry: codespell * + + - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt + rev: 0.2.3 + hooks: + - id: yamlfmt + files: ^(?!.*compose).*$ + args: [--mapping, '2', --sequence, '4', --offset, '2', --width, '100'] + + - repo: https://github.com/psf/black + rev: 23.12.0 + hooks: + - id: black + args: [--line-length=99] + + - repo: https://github.com/PyCQA/flake8 + rev: 6.1.0 + hooks: + - id: flake8 + args: ['--ignore=E501,W503'] # ignore too long line and line break before binary operator, + # black checks it + + # Docs - RestructuredText hooks + - repo: https://github.com/PyCQA/doc8 + rev: v1.1.1 + hooks: + - id: doc8 + args: [--max-line-length=100, --ignore=D001] + exclude: ^.*\/CHANGELOG\.rst/.*$ + + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v17.0.6 + hooks: + - id: clang-format