From de007d4cb7cccbece555171f744ec769a86de4a2 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Tue, 16 Sep 2025 23:56:09 -0500 Subject: [PATCH] fix: add back linting workflow lost during merge --- .github/workflows/linting.yml | 57 ++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 9365c6d72af..28fe154dcaa 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -6,13 +6,13 @@ on: - main - beta - release - - 'hotfix*' + - "hotfix*" pull_request: branches: - main - beta - release - - 'hotfix*' + - "hotfix*" merge_group: types: [checks_requested] @@ -63,12 +63,59 @@ jobs: run: pnpm typecheck:scripts id: typecheck-scripts continue-on-error: true - - - # NOTE: This step *must* run last, as it deletes files in `public/` + + # NOTE: This step *must* run as the last linter; it deletes files in `public/` # Files in public/ do not yet have full licensing information, so remove them before checking for reuse compliance - name: Prepare for reuse compliance run: rm -rf public/* LICENSES/LicenseRef-* - name: Check for reuse compliance + id: reuse-lint uses: fsfe/reuse-action@v5 + + - name: Evaluate for Errors + env: + BIOME_LINT_OUTCOME: ${{ steps.biome_lint.outcome }} + DEPCRUISE_OUTCOME: ${{ steps.depcruise.outcome }} + TYPECHECK_OUTCOME: ${{ steps.typecheck.outcome }} + TYPECHECK_SCRIPTS_OUTCOME: ${{ steps.typecheck-scripts.outcome }} + REUSE_OUTCOME: ${{ steps.reuse-lint.outcome }} + run: | + # Check for Errors + + # Make text red. + red () { + printf "\e[31m%s\e[0m" "$1" + } + + # Make text green. + green () { + printf "\e[32m%s\e[0m" "$1" + } + + print_result() { + local name=$1 + local outcome=$2 + if [ "$outcome" == "success" ]; then + printf "$(green "✅ $name: $outcome")\n" + else + printf "$(red "❌ $name: $outcome")\n" + fi + } + + print_result "Biome" "$BIOME_LINT_OUTCOME" + print_result "Depcruise" "$DEPCRUISE_OUTCOME" + print_result "Typecheck" "$TYPECHECK_OUTCOME" + print_result "Typecheck scripts" "$TYPECHECK_SCRIPTS_OUTCOME" + print_result "Reuse Compliance" "$REUSE_OUTCOME" + + if [[ "$BIOME_LINT_OUTCOME" != "success" || \ + "$DEPCRUISE_OUTCOME" != "success" || \ + "$TYPECHECK_OUTCOME" != "success" || \ + "$TYPECHECK_SCRIPTS_OUTCOME" != "success" || \ + "$REUSE_OUTCOME" != "success" ]]; then + printf "$(red "❌ One or more checks failed!")\n" >&2 + exit 1 + fi + + printf "$(green "✅ All checks passed!")\n"