schema.gql: regenerate #7241
Workflow file for this run
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: build | |
| on: | |
| push: | |
| paths: | |
| - "**" | |
| - "!docs/**" | |
| - "!examples/**" | |
| - "!images/**" | |
| - "!**.md" | |
| - "!**.ipynb" | |
| - "resources/**" | |
| # manual trigger | |
| workflow_dispatch: { } | |
| env: | |
| RUST_LOG: "debug" | |
| RUST_LOG_SPAN_EVENTS: "new,close" | |
| RUST_BACKTRACE: "1" | |
| jobs: | |
| lint_fmt: | |
| name: Lint / Code | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| components: rustfmt, clippy | |
| - name: cargo fmt --check | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: fmt | |
| args: --check | |
| - name: Lint dividing lines | |
| run: | | |
| cargo test -p kamu-repo-tools -- dividing_lines | |
| - name: Lint license headers | |
| run: | | |
| cargo test -p kamu-repo-tools -- license_header | |
| - name: Lint OpenAPI spec | |
| run: | | |
| make lint-openapi | |
| - name: clippy | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: clippy | |
| args: --workspace --all-targets -- -D warnings | |
| lint_codegen: | |
| name: Lint / Codegen | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| repository: kamu-data/kamu-cli | |
| path: kamu-cli | |
| - name: Copy rust-toolchain file | |
| run: cp kamu-cli/rust-toolchain ./rust-toolchain | |
| - uses: actions/checkout@v5 | |
| with: | |
| repository: open-data-fabric/open-data-fabric | |
| path: open-data-fabric | |
| ref: hotfix/dataset-access-check | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| components: rustfmt | |
| # We use nix flake to install flatc, protoc and other tools needed for codegen | |
| - uses: cachix/install-nix-action@v31 | |
| - uses: cachix/cachix-action@v16 | |
| with: | |
| name: kamu | |
| authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
| - name: Generate artifacts | |
| run: | | |
| cd kamu-cli | |
| nix develop .config -c make codegen | |
| - name: Check generated files | |
| run: cd kamu-cli && git diff && git diff-index --quiet HEAD | |
| lint_deps: | |
| name: Lint / Dependencies | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions-rs/toolchain@v1 | |
| - uses: cargo-bins/cargo-binstall@main | |
| - run: cargo binstall cargo-deny -y | |
| - run: cargo deny check --hide-inclusion-graph | |
| - run: cargo binstall cargo-udeps -y | |
| - run: cargo udeps --all-targets | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Linux / amd64 | |
| runs-on: ubuntu-latest | |
| cargo-flags: --profile ci --features ingest-ftp,web-ui | |
| nextest-flags: --cargo-profile ci --features ingest-ftp,web-ui | |
| nextest-exclusions-main-set-tests: -E '!(test(::database::) | test(::spark::) | test(::flink::))' | |
| nextest-exclusions-database-set-part: '' | |
| container-runtime: podman | |
| ipfs: true | |
| database: true | |
| maximize-space: true | |
| # TODO: M1 cannot run docker due to lack of nested virtualization | |
| # See: https://github.com/marketplace/actions/setup-docker-on-macos#arm64-processors-m1-m2-m3-series-used-on-macos-14-images-are-unsupported | |
| - name: MacOS / arm64 | |
| runs-on: macos-15 | |
| cargo-flags: --profile ci | |
| nextest-flags: --cargo-profile ci | |
| nextest-exclusions-main-set-tests: -E '!(test(::containerized::) | test(::database::))' | |
| nextest-exclusions-database-set-part: '& !(test(::containerized::))' | |
| container-runtime: '' | |
| ipfs: false | |
| database: false | |
| maximize-space: false | |
| # TODO: DataFusion tests are temporarily disabled | |
| # See: https://github.com/kamu-data/kamu-cli/issues/226 | |
| - name: Windows / amd64 | |
| runs-on: windows-latest | |
| cargo-flags: --profile ci | |
| nextest-flags: --cargo-profile ci | |
| # platform(target) is a workaround for Windows only issue in cargo-nextest upon proc macro crates | |
| nextest-exclusions-main-set-tests: -E 'platform(target) & !(test(::containerized::) | test(::datafusion::) | test(::database::))' | |
| nextest-exclusions-database-set-part: '& !(test(::datafusion::))' | |
| container-runtime: '' | |
| ipfs: false | |
| database: false | |
| maximize-space: false | |
| name: Test / ${{ matrix.name }} | |
| runs-on: ${{ matrix.runs-on }} | |
| services: | |
| postgres: | |
| image: ${{ matrix.database && 'postgres:18' || '' }} | |
| env: | |
| POSTGRES_USER: root | |
| POSTGRES_PASSWORD: root | |
| POSTGRES_DB: kamu-test | |
| ports: | |
| - 5432:5432 | |
| mariadb: | |
| image: ${{ matrix.database && 'mariadb:11' || '' }} | |
| env: | |
| MARIADB_ROOT_PASSWORD: root | |
| MARIADB_DATABASE: kamu-test | |
| ports: | |
| - 3306:3306 | |
| steps: | |
| - name: Setup IPFS | |
| uses: ibnesayeed/setup-ipfs@master | |
| if: matrix.ipfs | |
| with: | |
| ipfs_version: "0.19" | |
| - name: Maximize build space | |
| if: matrix.maximize-space | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /opt/hostedtoolcache/CodeQL | |
| - uses: actions/checkout@v5 | |
| - uses: actions-rs/toolchain@v1 | |
| - uses: swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - uses: cargo-bins/cargo-binstall@main | |
| - name: Install cargo tools | |
| run: | | |
| cargo binstall cargo-nextest -y --force --github-token ${{ secrets.GITHUB_TOKEN }} | |
| - name: Configure runtime | |
| if: matrix.container-runtime != '' | |
| run: | | |
| echo '{ "kind": "CLIConfig", "version": 1, "content": {"engine": { "runtime": "${{ matrix.container-runtime }}" } } }' > ~/.kamuconfig | |
| echo "KAMU_CONTAINER_RUNTIME_TYPE=${{ matrix.container-runtime }}" >> $GITHUB_ENV | |
| - name: Build | |
| # Note: only be used to test the "web-ui" feature building | |
| env: | |
| # To test just building, we embed a tiny folder | |
| KAMU_WEB_UI_DIR: '../../../.github' | |
| run: | | |
| cargo test ${{ matrix.cargo-flags }} --no-run | |
| - name: Pull test images | |
| if: matrix.container-runtime != '' | |
| run: cargo nextest run ${{ matrix.nextest-flags }} -E 'test(::setup::)' --no-capture | |
| - name: Run main set of tests | |
| run: cargo nextest run ${{ matrix.nextest-flags }} ${{ matrix.nextest-exclusions-main-set-tests }} -v | |
| - name: Postgres database tests | |
| if: matrix.database | |
| env: | |
| SQLX_OFFLINE: false | |
| DATABASE_URL: postgres://root:root@localhost:5432/kamu-test | |
| run: cargo nextest run ${{ matrix.nextest-flags }} -E 'test(::postgres::) ${{ matrix.nextest-exclusions-database-set-part }}' | |
| - name: MariaDB database tests | |
| if: matrix.database | |
| env: | |
| SQLX_OFFLINE: false | |
| DATABASE_URL: mariadb://root:root@localhost:3306/kamu-test | |
| run: cargo nextest run ${{ matrix.nextest-flags }} -E 'test(::mysql::) ${{ matrix.nextest-exclusions-database-set-part }}' | |
| # Not running on windows due to line ending differences | |
| - name: Check generated files | |
| if: "!contains(matrix.runs-on, 'windows')" | |
| run: git diff && git diff-index --quiet HEAD |