Repository navigation
CLOS-7051: CloudLinux 9 to CloudLinux 10 upgrade support #78
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Lint (cloudlinux) | |
| # CloudLinux fork uses the `cloudlinux` branch as trunk; the inherited | |
| # upstream workflows (unit-tests.yml, codespell.yml, etc.) only fire on | |
| # `master` and so do not run on this fork. This narrow workflow guards | |
| # the cloudlinux branch against the most common regression we have hit: | |
| # stray non-ASCII bytes in Python source (em-dashes, smart quotes, | |
| # ellipsis from copy/paste, leftover BOMs). | |
| # | |
| # The checks are `make lint-non-ascii`, `make lint-spec-release` and | |
| # `make lint-spec-platforms`, which delegate to utils/check-non-ascii.py, | |
| # utils/check-spec-release.py and utils/check-spec-platforms.py. All three are | |
| # also prerequisites of `make lint`, so local developers get the identical | |
| # rules when they run the full lint locally. | |
| # | |
| # lint-spec-release guards the release number the spec declares. Upstream's | |
| # Makefile stamped a computed release over it for COPR scratch builds, using | |
| # an unanchored substring match that corrupted any release ending in 1 - | |
| # 0.20.0-11 was built as 0.20.0-10.<timestamp>.<sha>.HEAD and discarded. | |
| # | |
| # lint-spec-platforms guards what upstream's builds differ from ours in. Every | |
| # build copies its target's deps RPMs from the tarball `make source` | |
| # assembles, and the 0.24.0 merge resolved the Makefile to bundle no el9 deps, | |
| # which failed the CL8 build. It also rejects any file under the tree | |
| # leapp-data-cloudlinux installs into (the CloudLinux target GPG keys): a | |
| # second copy here made the two RPMs uninstallable together. | |
| # | |
| # The CloudLinux 7 to 8 upgrade is built from the cloudlinux-el7toel8 branch, | |
| # so nothing here guards python2.7 or rpm 4.11 any more. | |
| # | |
| # Broader fixes (running the full upstream test+lint matrix on cloudlinux | |
| # PRs) are tracked separately. | |
| on: | |
| pull_request: | |
| branches: [cloudlinux] | |
| push: | |
| branches: [cloudlinux] | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-non-ascii: | |
| name: Reject undeclared non-ASCII in Python source | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: make lint-non-ascii | |
| run: make lint-non-ascii | |
| lint-spec-release: | |
| name: Build must ship the release the spec declares | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: make lint-spec-release | |
| run: make lint-spec-release | |
| lint-spec-platforms: | |
| name: Every build's deps are bundled, nothing is shipped twice | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: make lint-spec-platforms | |
| run: make lint-spec-platforms |