diff --git a/.github/actions/run-backend-tests/action.yml b/.github/actions/run-backend-tests/action.yml index 22d4313772ec6..3af645a7a98cf 100644 --- a/.github/actions/run-backend-tests/action.yml +++ b/.github/actions/run-backend-tests/action.yml @@ -75,7 +75,7 @@ runs: run: | pip install -r requirements.txt -r requirements-dev.txt - - name: Install local hogql-parser + - name: Install the working version of hogql-parser if: steps.hogql-parser-diff.outputs.changed == 'true' shell: bash # This is not cached currently, as it's important to build the current HEAD version of hogql-parser if it has diff --git a/.github/workflows/build-hogql-parser.yml b/.github/workflows/build-hogql-parser.yml index 2818329037bd6..db55a650c0f5e 100644 --- a/.github/workflows/build-hogql-parser.yml +++ b/.github/workflows/build-hogql-parser.yml @@ -41,7 +41,9 @@ jobs: timeout-minutes: 120 # The Linux ARM builds are painfully slow strategy: matrix: - # ARM emulation is reasonably fast on macOS, but insanely slow (20x longer) on Linux runners + # As of October 2023, GitHub doesn't have ARM Actions runners… and ARM emulation is insanely slow + # (20x longer) on the Linux runners (while being reasonable on the macOS runners). Hence, we use + # BuildJet as a provider of ARM runners - this solution saves a lot of time and consequently some money. os: [ubuntu-22.04, buildjet-2vcpu-ubuntu-2204-arm, macos-12] steps: diff --git a/.github/workflows/storybook-chromatic.yml b/.github/workflows/storybook-chromatic.yml index e4c89d3e112c4..19b153aa0bfda 100644 --- a/.github/workflows/storybook-chromatic.yml +++ b/.github/workflows/storybook-chromatic.yml @@ -164,7 +164,7 @@ jobs: # If added or modified, run OptiPNG if [ $ADDED -gt 0 ] || [ $MODIFIED -gt 0 ]; then echo "Snapshots updated ($ADDED new, $MODIFIED changed), running OptiPNG" - sudo apt-get update && sudo apt-get install -y optipng + apt update && apt install -y optipng optipng -clobber -o4 -strip all # we don't want to _always_ run OptiPNG diff --git a/hogql_parser/README.md b/hogql_parser/README.md index f08a845ca413e..ed70674a95cd8 100644 --- a/hogql_parser/README.md +++ b/hogql_parser/README.md @@ -1 +1,21 @@ # HogQL Parser + +## Developing locally on macOS + +1. Install libraries: + + ```bash + brew install boost antlr + ``` + +1. Install `hogql_parser` from local sources: + + ```bash + pip install ./hogql_parser + ``` + +1. If you now run tests, the locally-built version of `hogql_parser` will be used: + + ```bash + pytest posthog/hogql/ + ```