Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. May 31, 2024
    • Mahatthana (Kelvin) Nomsawadi's avatar
      ci(sdk): Autogenerate changelog on build (#43364) · 78db8c49
      Mahatthana (Kelvin) Nomsawadi authored
      * Auto tag embedding team for PR review + dry run npm publish
      
      * Install changelog generation package
      
      * Add the initial changelog
      
      * feat(sdk): This is an empty commit. For testing purposes.
      
      * Update SDk build script to include changelog
      
      * Check if a tag exists
      
      * Ensure changelog is in the released package
      
      * Fix workflow
      
      * Remove unnecessary step
      
      * Ensure we can have access to release utils script when checking out master
      
      * Fix the step to create a PR updating readme and changelog
      
      * Fix changelog generation
      
      * Fix couldn't download changelog
      
      * Clean up steps
      Unverified
      78db8c49
  2. May 30, 2024
  3. May 28, 2024
  4. May 17, 2024
  5. Apr 30, 2024
  6. Apr 29, 2024
  7. Apr 24, 2024
  8. Apr 08, 2024
  9. Apr 04, 2024
  10. Apr 02, 2024
  11. Feb 06, 2024
  12. Jan 31, 2024
  13. Jan 18, 2024
  14. Jan 17, 2024
  15. Jan 09, 2024
  16. Jan 04, 2024
  17. Jan 03, 2024
  18. Dec 20, 2023
  19. Dec 08, 2023
  20. Nov 15, 2023
  21. Nov 14, 2023
    • Mark Bastian's avatar
      Adding linter and formatter pre-commit hooks for staged BE files · d4957af1
      Mark Bastian authored
      * Adding linter and formatter to staged BE files.
      
      Note that `.cljfmt/indents.clj` tries to capture our indent rules
      and, so far, seems to get things right. There are still some inconsistencies
      in some of our nses in how we indent assoc(-in) and some t2 functions
      when it comes to key-value pairs on following lines. Should the keys
      align with the function call or be indented. Aesthetically, people
      seem to like indents, but these are functions, so should align with the
      first argument. IDK that it really matters as long as we have agreement.
      
      We may, as we adopt this, have some files be reformatted in unexpected ways
      for items that have been missed. If so, the developer can simply update
      the .cljfmt/indents.clj file, rerun the hook, and commit that along with
      their other changes.
      
      * Added whitespace linter.
      
      * Updating husky commit hook
      
      * Updated hook scripts to be exclusively for staged files.
      
      Updated cljfmt to use the latest and greatest along with the new format of config file.
      
      * Commenting out the actual formatting hook in .husky/pre-commit until we come up with a globally happy solution to forms that don't have good formatting rules, like defprotocol+ in a reader conditional.
      
      * Reverting formatting
      
      * Moving pre-commit hooks from .husky/pre-commit to the package.json's lint-staged section.
      
      Note that we're still not calling the cljfmt file (.bin/cljfmt_staged.sh)
      until we get agreement on formatting.
      
      One thing we might do since we're using lint-staged is we can probably
      exclude the "bad" files that go sideways with linting and format everything
      else automatically. This might be a good follow-on PR.
      Unverified
      d4957af1
    • Luis Paolini's avatar
      Add fonts in Dockerfile to fix pulses (#31764) · 44de976d
      Luis Paolini authored
      Add Noto fonts in Alpine Dockerfile
      Unverified
      44de976d
  22. Nov 08, 2023
  23. Nov 07, 2023
  24. Oct 17, 2023
  25. Oct 04, 2023
    • Nemanja Glumac's avatar
      Remove `delete-file!` function (#34306) · 80ee48bf
      Nemanja Glumac authored
      It was deprecated and left in a codebase for backwards compatibility.
      But it seems we've migrated all references to the new method `delete-file-if-exists`.
      
      The last time this was touched was three years ago.
      Should be safe to remove.
      Unverified
      80ee48bf
  26. Sep 28, 2023
  27. Sep 20, 2023
    • Mark Bastian's avatar
      X-ray improvements for clarity and literacy (#33815) · 764fcd06
      Mark Bastian authored
      
      * Fix clj-kondo
      
      was getting an error:
      
      ```clojure
      user=> (require ’[clj-kondo.hooks-api :as hooks])
      Syntax error compiling at (clj_kondo/impl/analysis/java.clj:61:6).
      Unable to find static field: ASM9 in interface org.objectweb.asm.Opcodes
      ```
      
      checking where the bad version comes from:
      
      ```clojure
      user=> (io/resource "org/objectweb/asm/Opcodes.class")
              "0x37e9d2e2"
              "jar:file:/Users/dan/.m2/repository/org/ow2/asm/asm-all/5.2/asm-all-5.2.jar!/org/objectweb/asm/Opcodes.class"]
      ```
      
      and running
      
      ```
      > clj -X:deps tree :aliases '[:dev :ee :ee-dev :drivers :drivers-dev :alpha :socket :morse :reveal]' > deps
      
      ❯ grep asm deps
        X org.ow2.asm/asm 9.4 :superseded
        . org.ow2.asm/asm-all 5.2
            . org.ow2.asm/asm 9.5 :newer-version
            . org.ow2.asm/asm-commons 9.5
              . org.ow2.asm/asm 9.5
              . org.ow2.asm/asm-tree 9.5
                . org.ow2.asm/asm 9.5
          X org.ow2.asm/asm 9.2 :older-version
      ```
      
      The 9.4 and 9.5s are all close to each other. But the asm-all 5.2 is far
      too old. That's brought in by eastwood. So i'll exclude it and see if it
      works
      
      * Can't throw error in api endpoint for linked entities x-ray
      
      `create-linked-dashboard` creates a dashboard if there are no linked
      entities, so this is unreachable code
      
      * unify card and query code pathways.
      
      now it's quite clear how card and query diverge:
      
      ```clojure
      (defmethod automagic-analysis Card
        [card {:keys [cell-query] :as opts}]
        (let [root     (->root card)
              cell-url (format "%squestion/%s/cell/%s" public-endpoint
                               (u/the-id card)
                               (encode-base64-json cell-query))]
          (query-based-analysis root opts
                                (when cell-query
                                  {:cell-query cell-query
                                   :cell-url   cell-url}))))
      
      (defmethod automagic-analysis Query
        [query {:keys [cell-query] :as opts}]
        (let [root       (->root query)
              cell-query (when cell-query (mbql.normalize/normalize-fragment [:query :filter] cell-query))
              opts       (cond-> opts
                           cell-query (assoc :cell-query cell-query))
              cell-url   (format "%sadhoc/%s/cell/%s" public-endpoint
                                 (encode-base64-json (:dataset_query query))
                                 (encode-base64-json cell-query))]
          (query-based-analysis root opts
                                (when cell-query
                                  {:cell-query cell-query
                                   :cell-url   cell-url}))))
      ```
      
      * Adding frequencies to a test to prevent non-deterministic behavior
      
      * Fixing linter check and ordering issue in test.
      
      * Adding TODO future task to replace /rule/ with /dashboard-template/ in paths.
      
      * Added large ns block to metabase.automagic-dashboards.core
      
      * Fixing spelling mistakes
      
      * Some docstrings and renaming for clarity.
      
      * Added ->field and ->root (covering source) tests
      
      * TODO - Fix minumum spelling error on standalone PR.
      
      * Breaking up tests to understand what is on with bulk failures
      
      * Broke make-cards into several logical steps so that the code is more readable. Added tests for each stage.
      
      * Updating references to rules.clj for i18n generation.
      
      * Inlined make-context into apply-dashboard-template. This makes the steps of creating dimensions, metrics, and filters more explicit. ATM we still need to resolve the logic around inject-root as this has dependence on the context and not the individual dimensions.
      
      * put build stuff on classpath for lsp
      
      * calculate base-context once before template loop
      
      * Removed the inject-root multimethod in favor of simple functions. Introducing the idea of removing metric and filter candidates that claim dimensions that don't exist.
      
      * Adding logic to pre-emptively remove unsatisfied metrics, filters, and dimensions.
      
      In `card-candidates` the check:
      
      ```
      (and
        (every? context-dimensions (map ffirst card-dimensions))
        (every? context-metrics card-metrics)
        (every? context-filters card-filters))
      ```
      
      is now performed to ensure that the card is satisfied before moving forward.
      
      * Renamed common-dimensions, common-metrics, and common-filters to satisfied-* for clarity. In card-candidates also changed context-* and card-* bindings to available-* and required-* for clarity.
      
      * Teasing out the generated dimensions, metrics, and filters from the big-ball-of-mud context. `make-cards` now takes the base context as well as the available computed dimensions, metrics, and filters as a separate argument. Additionally, tests were added for the `(comp #(filter-tables % tables) dashboard-templates/->entity)` branch of `some-fn` in `potential-card-dimension-bindings`. However, I am not confident that this is ever called outside of the tests. In order to be called, the entity type for the table has to be a named dimension in a card, which I can't find any examples of in the templates.
      
      * Pushing mega-context down to return value of apply-dashboard-template. Just need to take it apart where it is used downstream.
      
      * apply-dashboard-template now just returns generated values and does not build up the base context.
      
      * Adding tests for cases in which dimensions are defined in a native query on the dashcard template.
      
      The only case where this happens is in the resources/automagic_dashboards/table/example.yaml and,
      prior to this PR, had no test coverage.
      
      It does add some weird complexities to the system (including bringing in dimensions from a different
      approach vector) so perhaps we want to re-evaluate if we want this as a feature or not.
      
      ---------
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      Unverified
      764fcd06
  28. Sep 05, 2023
  29. Sep 02, 2023
    • Cam Saul's avatar
      Migrate QP/drivers code to use MLv2 metadata directly; make another 100+ tests... · 7bacd2fa
      Cam Saul authored
      Migrate QP/drivers code to use MLv2 metadata directly; make another 100+ tests parallel and shave 12 seconds off test suite (#33429)
      
      * QP MLv2 Metadata Provider follow-ons
      
      * Update lots of stuff to use MLv2 metadata instead of legacy metadata
      
      * Fix lint warnings
      
      * B I G  cleanup
      
      * Everything is neat
      
      * Mention new test pattern in driver dev changelog
      
      * Appease Cljs by renaming a bunch of namespaces
      
      * Move more stuff over
      
      * Fix kondo errors
      
      * Fix even more things
      
      * Test fixes
      
      * Fix JS export
      
      * Test fixes :wrench:
      
      * Fix final MongoDB test
      Unverified
      7bacd2fa
    • metamben's avatar
      48 cycle simple bumps (#33630) · 2bd21bf8
      metamben authored
      * Bump simple changes
      * Account for changed exception message
      * Add buddy-sign license
      * Use maven coordinates to select tools.build version
      Unverified
      2bd21bf8
  30. Aug 22, 2023
    • Cam Saul's avatar
      Parallelize QP tests (August 2023 attempt) (#33068) · d54caf88
      Cam Saul authored
      * Parallel QP tests; linter improvements; move QP test fns
      
      * Cleanup
      
      * Move query->expected-cols
      
      * Fix QP test namespace
      
      * Test fix :wrench:
      
      * Fix merge issues
      
      * Revert unrelated changes
      
      * Test fix :wrench:
      
      * Fix some things that are actually ^:parallel safe
      
      * Remove Oracle logic for destroying DBs from different sessions since we don't test on AWS anymore
      
      * Use ReentrantReadWriteLock for getting + creating test datasets to avoid race conditions
      
      * Add non-`metabase.test` versions of things to the disallowed list for `^:parallel` tests
      Unverified
      d54caf88
  31. Aug 18, 2023
  32. Aug 07, 2023
  33. Jul 21, 2023
  34. Jul 04, 2023
Loading