Skip to content

📜 Add v10.0.0 modules documentation version #2171

📜 Add v10.0.0 modules documentation version

📜 Add v10.0.0 modules documentation version #2171

Workflow file for this run

name: Lint
on:
workflow_call:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-commits:
runs-on: ubuntu-22.04
if: github.actor != 'dependabot[bot]'
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check commits
uses: wagoid/commitlint-github-action@v6
lint-markdown:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Lint markdown files
uses: avto-dev/markdown-lint@v1.5.0
with:
args: "**/*.md"
ignore: contracts/**/*.md contracts_versioned_docs/**/*.md modules/**/*.md modules_versioned_docs/**/*.md commands/**/*.md commands_versioned_docs/**/*.md
lint-yaml:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Lint yaml files
uses: ibiqlik/action-yamllint@v3.1.1
lint-json:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Lint json files
run: |
sudo apt install -y jsonlint
find ./ -type f -name "*.json" -exec sh -c '
for file do
if ! jsonlint-php -q "$file"; then
echo "❌ $file"
export FAILED=1
else
echo "✅ $file"
fi
done
if [ "${FAILED}" = "1" ]; then
exit 1
fi
' sh {} +
lint-image:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Lint image files
run: |
FAILED=0
for file in $(find "$FOLDER" -regextype posix-egrep -regex '.+\.(bmp|ico|jpg|jpeg|png|svg|webp)'); do
type=$(identify $file | awk '{print $2}')
if [[ $type =~ ^(WEBP|SVG|ICO)$ ]]; then
echo "✅ $file"
else
>&2 echo "❌ $file incorrect. Please use only webp or svg format 🙏"
FAILED=1
fi
done
if [ "${FAILED}" = "1" ]; then
exit 1
fi
env:
FOLDER: ./static
lint-web:
runs-on: ubuntu-22.04
env:
WEB_PORT: 3000
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup node environment (for building)
uses: actions/setup-node@v4
with:
node-version: 18.19
cache: yarn
- name: Fetch dependencies
run: |
yarn --frozen-lockfile
- name: Start web server
run: |
yarn build
yarn serve --port $WEB_PORT --no-open &
sleep 2
- name: Create artifacts directory
run: |
mkdir -p ${{ github.workspace }}/tmp/artifacts
- name: Run Lighthouse
uses: foo-software/lighthouse-check-action@v12.0.1
with:
prCommentEnabled: true
maxRetries: 2
outputDirectory: ${{ github.workspace }}/tmp/artifacts
device: all
urls: >-
http://localhost:${{ env.WEB_PORT }}/
gitHubAccessToken: ${{ secrets.OPS_TOKEN }}
- name: Upload lighthouse reports
uses: actions/upload-artifact@v4
with:
name: Lighthouse reports
path: ${{ github.workspace }}/tmp/artifacts
- name: Stop web server
if: always()
run: |
kill $(lsof -t -i:$WEB_PORT)
report-new-dependencies:
runs-on: ubuntu-22.04
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for new dependencies
uses: hiwelo/new-dependencies-action@1.0.1
with:
token: ${{ secrets.OPS_TOKEN }}
lint-branch-name:
runs-on: ubuntu-22.04
if: github.actor != 'dependabot[bot]' && github.event_name == 'pull_request' && (github.event.action == 'opened')
steps:
- name: Check branch name conventions
uses: AlbertHernandez/branch-name-action@v1.0.2
with:
branch_pattern: "feat|fix|build|ci|docs|style|refactor|perf|test|chore"
comment_for_invalid_branch_name: |
🙋‍ Oops! This branch name does not follow the naming convention.
<hr>
Please, see the following branch naming convention:
Branch naming convention | Purpose
------------------------ | -------
`feat/**` | A new feature
`fix/**` | A bug fix
`build/**` | Changes that affect the build system (npm, mavem, poetry)
`ci/**` | Changes to the CI configuration
`docs/**` | Documentation only changes
`style/**` | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
`refactor/**` | Code changes that neither fixe a bug nor adds a feature
`perf/**` | Code changes that improve performance
`test/**` | When adding tests or correcting existing tests
`chore/**` | Other changes that don't modify source
fail_if_invalid_branch_name: "true"
ignore_branch_pattern: "main"
- name: Close non-compliant branch
if: ${{ failure() }}
uses: codelytv/no-pull-requests@v1
with:
GITHUB_TOKEN: ${{ secrets.OPS_TOKEN }}
message: 🙅 Closing the PR because it does not respect naming conventions. Edit the branch name and submit a new PR.
env:
GITHUB_TOKEN: ${{ secrets.OPS_TOKEN }}
lint-scss:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup node environment (for building)
uses: actions/setup-node@v4
with:
node-version: 18.19
cache: yarn
- name: Fetch dependencies
run: |
yarn
- name: Lint scss
run: |
yarn stylelint '**/*.scss'