From 9bb591b6a1ec6cd9d7061d75d427830001d030ac Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Thu, 20 Feb 2025 20:26:18 -0500 Subject: [PATCH] ci(flatpak): use local exceptions --- .github/workflows/CI.yml | 49 ++++--------------- packaging/linux/flatpak/README.md | 21 +++++--- packaging/linux/flatpak/exceptions.json | 8 +++ .../flatpak-lint-baseline_manifest.json | 9 ---- .../flatpak/flatpak-lint-baseline_repo.json | 11 ----- 5 files changed, 33 insertions(+), 65 deletions(-) create mode 100644 packaging/linux/flatpak/exceptions.json delete mode 100644 packaging/linux/flatpak/flatpak-lint-baseline_manifest.json delete mode 100644 packaging/linux/flatpak/flatpak-lint-baseline_repo.json diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 7ffcd306356..967532ff92f 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -227,52 +227,23 @@ jobs: - name: Lint Flatpak working-directory: build run: | + exceptions_file="${{ github.workspace }}/packaging/linux/flatpak/exceptions.json" + echo "Linting flatpak manifest" flatpak run --command=flatpak-builder-lint org.flatpak.Builder \ - manifest ${APP_ID}.yml > _flatpak-lint-exceptions_manifest.json || true + --exceptions \ + --user-exceptions "${exceptions_file}" \ + manifest \ + ${APP_ID}.yml echo "Linting flatpak repo" # TODO: add arg # --mirror-screenshots-url=https://dl.flathub.org/media \ flatpak run --command=flatpak-builder-lint org.flatpak.Builder \ - repo repo > _flatpak-lint-exceptions_repo.json || true - - checks=(manifest repo) - exit_code=0 - - # check if files are equal - for check in "${checks[@]}"; do - echo "Validating $check" - - # load baseline and result files - baseline="${{ github.workspace }}/packaging/linux/flatpak/flatpak-lint-baseline_${check}.json" - result="_flatpak-lint-exceptions_${check}.json" - - # Extract errors from both JSON files - readarray -t result_errors < <(jq -r '.errors[]' "$result") - readarray -t baseline_errors < <(jq -r '.errors[]' "$baseline") - - # Loop through result errors and check against baseline errors - for error in "${result_errors[@]}"; do - if printf '%s\n' "${baseline_errors[@]}" | grep -q -F "$error"; then - echo "::warning:: '$error'" - else - echo "::error:: '$error'" - exit_code=1 - fi - done - done - - # if exit code is not 0, print results - if [ $exit_code -ne 0 ]; then - echo "Manifest lint results:" - cat _flatpak-lint-exceptions_manifest.json - echo "Repo lint results:" - cat _flatpak-lint-exceptions_repo.json - fi - - # exit with the correct code - exit $exit_code + --exceptions \ + --user-exceptions "${exceptions_file}" \ + repo \ + repo - name: Package Flathub repo archive # copy files required to generate the Flathub repo diff --git a/packaging/linux/flatpak/README.md b/packaging/linux/flatpak/README.md index a503a3465b8..684f986e65e 100644 --- a/packaging/linux/flatpak/README.md +++ b/packaging/linux/flatpak/README.md @@ -1,13 +1,22 @@ -# Overview +