feat(services): tile management #5744
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: CI | |
| on: | |
| pull_request: | |
| merge_group: | |
| # Allows you to run this workflow manually from the Actions tab | |
| workflow_dispatch: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| tool-cache: true | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| docker-images: true | |
| swap-storage: true | |
| # TODO: Get Cache back | |
| # - name: setup rust build cache | |
| # uses: Swatinem/rust-cache@v2 | |
| # with: | |
| # # An explicit cache key that is used instead of the automatic `job`-based | |
| # # cache key and is thus stable across jobs. | |
| # # Default: empty | |
| # shared-key: "" | |
| # # An additional cache key that is added alongside the automatic `job`-based | |
| # # cache key and can be used to further differentiate jobs. | |
| # # Default: empty | |
| # key: ci_test_ | |
| - name: Testsuite | |
| uses: ./.github/actions/test | |
| - name: Adjust lcov.info | |
| # The lcov file is generated in the container and contains absolute paths, so we need to adjust them. | |
| run: sed -i 's|/github/workspace/||g' lcov.info | |
| - name: Upload coverage to Coveralls | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| file: lcov.info | |
| lint: | |
| runs-on: ubuntu-24.04 | |
| container: quay.io/geoengine/devcontainer:latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Init rustup toolchain | |
| # somehow rustup show will take care to initialize the version based on the toolchain file | |
| run: rustup show | |
| - name: setup rust build cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| # An explicit cache key that is used instead of the automatic `job`-based | |
| # cache key and is thus stable across jobs. | |
| # Default: empty | |
| shared-key: "" | |
| # An additional cache key that is added alongside the automatic `job`-based | |
| # cache key and can be used to further differentiate jobs. | |
| # Default: empty | |
| key: ci_test_ | |
| - name: Rustfmt | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --all-targets --locked -- -D warnings | |
| - name: SQLFluff | |
| run: pipx run sqlfluff==3.5.0 lint | |
| openapi: | |
| name: OpenAPI Validation | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v5 | |
| - name: Validate OpenAPI spec | |
| run: npx @openapitools/openapi-generator-cli validate -i openapi.json | |
| build: | |
| runs-on: ubuntu-24.04 | |
| container: quay.io/geoengine/devcontainer:latest | |
| strategy: | |
| matrix: | |
| build: ["", "--release"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Init rustup toolchain | |
| # somehow rustup show will take care to initialize the version based on the toolchain file | |
| run: rustup show | |
| - name: setup rust build cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| # An explicit cache key that is used instead of the automatic `job`-based | |
| # cache key and is thus stable across jobs. | |
| # Default: empty | |
| shared-key: "" | |
| # An additional cache key that is added alongside the automatic `job`-based | |
| # cache key and can be used to further differentiate jobs. | |
| # Default: empty | |
| key: ci_test_${{ matrix.build }} | |
| - name: Build | |
| run: cargo build --locked ${{ matrix.build }} --verbose |