Skip to content

Linterツールの設定変更&CIテストを通す #257

Linterツールの設定変更&CIテストを通す

Linterツールの設定変更&CIテストを通す #257

Workflow file for this run

# kics-scan disable=555ab8f9-2001-455e-a077-f2d0f41e2fb9
---
name: Datapack Linting
on:
push:
pull_request:
env:
AUTO_FIX: true
APPLY_FIXES: all
APPLY_FIXES_EVENT: all
APPLY_FIXES_MODE: pull_request
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
permissions:
contents: write
issues: write
pull-requests: write
jobs:
megalinter:
name: MegaLinter
runs-on: ubuntu-latest
env:
DISABLE_LINTERS: "SPELL_CSPELL,SPELL_LYCHEE,MARKDOWN_MARKDOWN_LINK_CHECK"
DISABLE_ERRORS_LINTERS: "JSON_V8R"
LINTER_RULES_PATH: .github/linters
CLEAR_REPORT_FOLDER: true
FILTER_REGEX_EXCLUDE: '^(.*/)?_.*$'
VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
steps:
- uses: actions/create-github-app-token@v1
id: generate-token
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Checkout Code
uses: actions/checkout@v4
with:
token: ${{ steps.generate-token.outputs.token }}
# token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
fetch-depth: 0
- name: MegaLinter
id: ml
uses: oxsecurity/megalinter@v8
- name: Archive production artifacts
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: MegaLinter reports
path: |
megalinter-reports
mega-linter.log
- name: Debug - Output values
if: always()
run: |
echo "has_updated_sources: ${{ steps.ml.outputs.has_updated_sources }}"
echo "APPLY_FIXES_EVENT: ${{ env.APPLY_FIXES_EVENT }}"
echo "APPLY_FIXES_MODE: ${{ env.APPLY_FIXES_MODE }}"
echo "github.ref: ${{ github.ref }}"
echo "event_name: ${{ github.event_name }}"
echo "HEAD_COMMIT_MESSAGE: ${{ env.HEAD_COMMIT_MESSAGE }}"
echo "pull_request.head.repo.full_name: ${{ github.event.pull_request.head.repo.full_name }}"
- name: Create Pull Request with applied fixes
id: cpr
if: steps.ml.outputs.has_updated_sources == 1 &&
(
env.APPLY_FIXES_EVENT == 'all' ||
env.APPLY_FIXES_EVENT == github.event_name
) &&
env.APPLY_FIXES_MODE == 'pull_request' &&
(
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name == github.repository
) &&
!contains(env.HEAD_COMMIT_MESSAGE, 'skip fix')
uses: peter-evans/create-pull-request@v6
with:
token: ${{ steps.generate-token.outputs.token }}
# token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
commit-message: "NO-ISSUE Fix Apply linters fixes"
title: "[Fix] Apply linters automatic fixes"
labels: bot
base: ${{ github.head_ref }}
- name: Create PR output
if: steps.ml.outputs.has_updated_sources == 1 &&
(
env.APPLY_FIXES_EVENT == 'all' ||
env.APPLY_FIXES_EVENT == github.event_name
) &&
env.APPLY_FIXES_MODE == 'pull_request' &&
(
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name == github.repository
) &&
!contains(env.HEAD_COMMIT_MESSAGE, 'skip fix')
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs['pull-request-number'] }}"
echo "Pull Request URL - ${{ steps.cpr.outputs['pull-request-url'] }}"
- name: Prepare commit
if: steps.ml.outputs.has_updated_sources == 1 &&
(
env.APPLY_FIXES_EVENT == 'all' ||
env.APPLY_FIXES_EVENT == github.event_name
) &&
env.APPLY_FIXES_MODE == 'commit' &&
github.ref != 'refs/heads/main' &&
(
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name == github.repository
) &&
!contains(env.HEAD_COMMIT_MESSAGE, 'skip fix')
run: sudo chown -Rc $UID .git/
- name: Commit and push applied linter fixes
if: steps.ml.outputs.has_updated_sources == 1 &&
(
env.APPLY_FIXES_EVENT == 'all' ||
env.APPLY_FIXES_EVENT == github.event_name
) &&
env.APPLY_FIXES_MODE == 'commit' &&
github.ref != 'refs/heads/main' &&
(
github.event_name == 'push' ||
github.event.pull_request.head.repo.full_name == github.repository
) &&
!contains(env.HEAD_COMMIT_MESSAGE, 'skip fix')
uses: stefanzweifel/git-auto-commit-action@v4
with:
branch: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref }}
commit_message: "NO-ISSUE Fix Apply linters fixes"
commit_user_name: linter-bot
commit_user_email: [email protected]