Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create 0.34-Affirm Branch #108

Open
wants to merge 141 commits into
base: 0.28-affirm
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
f873240
chore: Fix release process by upgrading to node==18 because of Semant…
adchia Jan 23, 2023
1ef5137
fix: Stream feature view UI shows transformation issue (#3464)
hao-affirm Jan 26, 2023
dfd5eae
fix: Fix delete sfv twice issue (#3466)
hao-affirm Jan 29, 2023
75829f0
ci: Fix setuptools issue with wildcard (#3471)
adchia Jan 30, 2023
d3b7c06
chore(release): release 0.29.0
feast-ci-bot Jan 31, 2023
473f8d9
fix: Add description attribute to the Field.from_proto method (#3469)
gbmarc1 Feb 3, 2023
ff66784
fix: Improve BQ point-in-time joining scalability (#3429)
sudohainguyen Feb 4, 2023
66edc32
fix: Fixed path inside quickstart notebook (#3456)
amrzv Feb 7, 2023
fd91cda
feat: Add Rockset as an OnlineStore (#3405)
danielin917 Feb 9, 2023
3249b97
fix: Fix SQL Registry cache miss (#3482)
adchia Feb 9, 2023
378edef
chore: Move google-api dependencies to GCP extras (#3463)
cburroughs Feb 13, 2023
0f9d115
chore: Bump ipython from 8.9.0 to 8.10.0 in /sdk/python/requirements …
dependabot[bot] Feb 13, 2023
57ac1ab
docs: Fix Java debug docs
adchia Feb 17, 2023
2c85421
fix: Fix missing requests requirement after GCP requirement removed. …
adchia Feb 17, 2023
9ca59e3
fix: Protobuf lower bound to 3.20 to alert that Feast is incompatible…
gbmarc1 Feb 17, 2023
4575ef0
ci: Fix MacOS test breakages due to no pkg-config
adchia Feb 17, 2023
f2cbf43
fix: Spark kafka processor sorting (#3479)
shaurya-nwse Feb 17, 2023
0c81431
chore: Add gbmarc1 to OWNERs (#3472)
adchia Mar 1, 2023
bab6644
feat: Adding query timeout to `to_df` and `to_arrow` retrieval method…
gbmarc1 Mar 2, 2023
c0db1c9
chore: Add tests to bool test type (#3473)
gbmarc1 Mar 2, 2023
dca4745
fix: Add filesystem kwargs when read prev_table on FileRetrievalJob (…
goodseog Mar 2, 2023
d377218
chore: Bump golang.org/x/text from 0.3.7 to 0.3.8 (#3508)
dependabot[bot] Mar 2, 2023
bada97c
fix: Update go dependencies (#3512)
achals Mar 2, 2023
059c304
chore: Bump dns-packet from 5.3.1 to 5.4.0 in /sdk/python/feast/ui (#…
dependabot[bot] Mar 2, 2023
ec08a55
chore: Bump great expectation version (#3501)
sudohainguyen Mar 3, 2023
1883f55
feat: adds k8s config options to Bytewax materialization engine (#3518)
adamschmidt Mar 4, 2023
c619080
chore: Update python dependencies and use the latest pip (#3519)
achals Mar 4, 2023
be34905
chore: Stop compiling embedded go components (#3520)
achals Mar 4, 2023
57bbb61
fix: Feature view `entities` from_proto type (#3524)
gbmarc1 Mar 9, 2023
f0eea99
build: Looser upper bound on pyarrow dependency (#3527)
gbmarc1 Mar 10, 2023
ec1e61d
feat: Add Snowflake Registry (#3363)
sfc-gh-madkins Mar 12, 2023
9a3fd98
fix: UI working behind base url (#3514)
sudohainguyen Mar 12, 2023
982b404
chore: Bump webpack from 5.67.0 to 5.76.1 in /ui (#3535)
dependabot[bot] Mar 14, 2023
ed73acd
chore: Bump webpack from 5.72.1 to 5.76.1 in /sdk/python/feast/ui (#3…
dependabot[bot] Mar 14, 2023
61f6fb0
fix: Pin typeguard to 2.13.3 which is what we are currently using. (#…
kevjumba Mar 17, 2023
5310280
chore(release): release 0.30.0
feast-ci-bot Mar 17, 2023
d2d13b1
fix: Bytewax image pull secret config (#3547)
adamschmidt Mar 24, 2023
a76c6d0
fix: Clean up Rockset Online Store for use (#3549)
danielin917 Mar 24, 2023
5e62844
chore: Remove go server references (#3554)
achals Mar 24, 2023
03924a2
ci: Use build --wheel instead of cibuildwheel (#3555)
achals Mar 24, 2023
f9f8df2
feat: Added SnowflakeConnection caching (#3531)
sfc-gh-madkins Mar 24, 2023
51ea8f6
ci: Install sdist for build verification (#3556)
achals Mar 24, 2023
f5c48bf
chore: Revert "chore(release): release 0.30.0" (#3557)
achals Mar 24, 2023
7e99ccc
chore: Make publishing the UI to NPM optional (#3559)
achals Mar 24, 2023
ebb36d5
chore(release): release 0.30.0
feast-ci-bot Mar 24, 2023
1289f3f
fix: Use pyarrow in a way that works across versions (#3562)
achals Mar 24, 2023
e7421c1
fix(cI): Install coreutils in mac github workers for smoke test (#3563)
achals Mar 25, 2023
8dd7217
chore: Fix invalid github action syntax (#3564)
achals Mar 25, 2023
b05d50b
feat: Add Hazelcast as an online store (#3523)
mehmettokgoz Mar 25, 2023
3cefd6c
fix: Add StreamFeatureViewSpec to FeastObjectSpecProto convenience ty…
loftiskg Mar 26, 2023
bf86bd0
docs: Trivial updates to documentation for better clarity (#3533)
msmygit Mar 26, 2023
8924795
docs: Rockset Docs typos (#3566)
danielin917 Mar 28, 2023
8dc64f7
chore: Bump redis from 4.2.2 to 4.5.3 in /sdk/python/requirements (#3…
dependabot[bot] Mar 28, 2023
8b90e2f
chore: Bump redis from 4.5.3 to 4.5.4 in /sdk/python/requirements (#3…
dependabot[bot] Apr 3, 2023
f8d3890
fix: Snowflake remote storage (#3574)
adamschmidt Apr 3, 2023
09f0e7e
fix: Wrap the bigquery table name with backtick. (#3577)
phil-park Apr 3, 2023
2c04ec1
docs: Fix the documentation to run the tutorial Validating historical…
diefergil Apr 3, 2023
6c09c39
fix: Fix Snowflake template (#3584)
sfc-gh-madkins Apr 11, 2023
6dc1368
fix: Fix bug with no SqlRegistryConfig class (#3586)
davidschuler-8451 Apr 21, 2023
67acc01
ci: Add 'rockset' as feast pip install extra (#3578)
danielin917 Apr 21, 2023
6794338
fix: Bytewax materializer security context (#3573)
adamschmidt Apr 21, 2023
7854f63
fix: Add Stream Feature Views to helper that collect Feature View nam…
loftiskg Apr 21, 2023
e2b03fd
docs: Fix proto docstring typo (#3461)
loftiskg Apr 21, 2023
ffd50fd
docs: Add Snowflake registry bolierplate (#3583)
sfc-gh-madkins Apr 21, 2023
ad48146
fix: Make snowflake to remote tables temporary (#3588)
sfc-gh-madkins Apr 21, 2023
f9862b5
fix: Batch Snowflake materialization queries to obey Snowpark 100 fea…
sfc-gh-madkins Apr 21, 2023
7e77382
feat: Relax aws extras requirements (#3585)
cburroughs Apr 21, 2023
01a98f0
fix: Support param timeout when persisting (#3593)
sudohainguyen Apr 21, 2023
58d63f7
feat: Show bigquery datasource table and query on UI (#3600)
sudohainguyen Apr 21, 2023
b27472f
feat: Cache Bigtable client (#3602)
ysk24ok Apr 21, 2023
7da0580
fix: Remove snowflake source warehouse tech debt (#3422)
sfc-gh-madkins Apr 21, 2023
58ce148
feat: Add AWS Redshift Serverless support (#3595)
cbarcroft Apr 21, 2023
be3e349
feat: Update snowflake offline store job output formats -- added arro…
sfc-gh-madkins Apr 21, 2023
3ee0b9e
ci: Add dry run capability to web UI release (#3605)
felixwang9817 Apr 21, 2023
61a3be6
ci: Move `publish_ui` flag to correct location (#3606)
felixwang9817 Apr 21, 2023
902f23f
chore(release): release 0.31.0
feast-ci-bot Apr 21, 2023
e8e643e
fix: Clean up snowflake to_spark_df() (#3607)
sfc-gh-madkins Apr 24, 2023
ebcdc36
chore: Upgrade snowflake version to 3.0.0 (#3608)
sfc-gh-madkins Apr 24, 2023
6aa54aa
chore: Bump redis from 4.2.2 to 4.4.4 in /sdk/python/requirements (#3…
dependabot[bot] Apr 24, 2023
04afc71
docs: Updating contributing guide and also fixing some issues around …
adchia May 10, 2023
9e7a8f0
docs: Fix minor typo. (#3624)
shuchu May 15, 2023
bfb26c3
chore: Adding logging to the feature server when the registry is refr…
adchia May 16, 2023
9b227d7
fix: Fix timestamp consistency in push api (#3614)
phil-park May 16, 2023
c3dd74e
fix: Fix scan datasize to 0 for inference schema (#3628)
phil-park May 23, 2023
882fce4
chore: Bump tornado from 6.2 to 6.3.2 in /sdk/python/requirements (#3…
dependabot[bot] May 30, 2023
2e08e13
chore: Bump requests from 2.28.2 to 2.31.0 in /sdk/python/requirement…
dependabot[bot] May 30, 2023
1ab31c0
ci: Fix MySQL installation issue on macOS (#3643)
felixwang9817 Jun 4, 2023
5dc9d9e
ci: Bump cryptography (#3642)
felixwang9817 Jun 4, 2023
059509a
fix: Implements connection pool for postgres online store (#3633)
Natan16 Jun 4, 2023
bf740d2
fix: Added generic Feature store Creation for CLI (#3618)
nj7 Jun 5, 2023
4de7faf
feat: Add gunicorn for serve with multiprocess (#3636)
phil-park Jun 5, 2023
c474ccd
feat: Use string as a substitute for unregistered types during schema…
phil-park Jun 6, 2023
d372a09
ci: Add bigtable cleanup script
adchia Jul 3, 2023
f6d3caf
fix: Missing Catalog argument in athena connector (#3661)
GyuminJack Jul 3, 2023
d4f9158
ci: Disable flaky lambda materialization test
adchia Jul 3, 2023
4861af0
fix: Broken non-root path with projects-list.json (#3665)
bjfletcher Jul 3, 2023
48e0971
fix: Manage redis pipe's context (#3655)
phil-park Jul 4, 2023
315073f
chore: Bump tough-cookie from 4.0.0 to 4.1.3 in /sdk/python/feast/ui …
dependabot[bot] Jul 11, 2023
870762a
chore: Bump tough-cookie from 4.0.0 to 4.1.3 in /ui (#3676)
dependabot[bot] Jul 11, 2023
478caec
fix: For SQL registry, increase max data_source_name length to 255 (#…
radonnachie Jul 13, 2023
1c01035
fix: Optimize bytes processed when retrieving entity df schema to 0 (…
sudohainguyen Jul 13, 2023
ef4ef32
fix: Entityless fv breaks with `KeyError: __dummy` applying feature_s…
wfoschiera Jul 13, 2023
0ad2d62
chore: Bump protobufjs from 7.1.1 to 7.2.4 in /ui (#3674)
dependabot[bot] Jul 17, 2023
e4c0c9b
chore: Bump protobufjs from 7.1.2 to 7.2.4 in /sdk/python/feast/ui (#…
dependabot[bot] Jul 17, 2023
bef5791
chore: Bump semver from 6.3.0 to 6.3.1 in /ui (#3678)
dependabot[bot] Jul 17, 2023
928be7b
chore: Bump semver from 6.3.0 to 6.3.1 in /sdk/python/feast/ui (#3679)
dependabot[bot] Jul 17, 2023
12f57a9
chore: Bump google.golang.org/grpc from 1.47.0 to 1.53.0 (#3670)
dependabot[bot] Jul 17, 2023
9527183
chore(release): release 0.32.0
feast-ci-bot Jul 17, 2023
76270f6
fix: Redshift push ignores schema (#3671)
metavee Jul 24, 2023
c75a01f
fix: Add aws-sts dependency in java sdk so that S3 client acquires IR…
harmeet-singh-discovery Aug 1, 2023
8dfc8ed
Switch from `macos-10.15` to `macos-latest` (#3722)
felixwang9817 Aug 14, 2023
3aca485
ci: Upgrade `checkout` Github Action (#3723)
felixwang9817 Aug 14, 2023
5ae55f1
ci: Upgrade `setup-python` Github Action (#3724)
felixwang9817 Aug 14, 2023
cfbbc37
ci: Upgrade `setup-node` Github Action (#3725)
felixwang9817 Aug 14, 2023
ff199df
ci: Upgrade `upload-artifact` Github Action (#3726)
felixwang9817 Aug 14, 2023
22c109b
feat: Add possibility to save dataset as table, when spark config has…
nadejdaSuraeva Aug 14, 2023
7cd80ea
chore(release): release 0.33.0
feast-ci-bot Aug 14, 2023
4a35e0b
ci: Temporarily disable smoke tests (#3727)
felixwang9817 Aug 14, 2023
7bc7c47
fix: Run store.plan() only when need it. (#3708)
shuchu Aug 14, 2023
e81684d
fix: Fix python unit tests (#3734)
crispin-ki Aug 16, 2023
1695c13
fix: Update py3.8 ci requirements for cython 3.0 release (#3735)
crispin-ki Aug 28, 2023
028cc20
fix: Pin protobuf version to avoid seg fault on some machines
adchia Aug 28, 2023
eb5f9ae
ci: Pin pip version to avoid test breakage
adchia Aug 28, 2023
58aff34
ci: Pin pip version to slightly higher to avoid test breakage
adchia Aug 28, 2023
0b3fa13
ci: Fix ci breakage from old pip version being restored from pip cache
adchia Sep 5, 2023
d7041f4
fix: Handle unknown postgres source types gracefully (#3634)
msnidal Sep 5, 2023
1a1849c
chore: Fix linting issue
adchia Sep 5, 2023
377758b
docs: Add Dragonfly as an online-store option to Feast Readme and doc…
yirenlu92 Sep 5, 2023
f2c5988
fix: Remove unwanted excessive splitting of gcs path, so expected gcs…
crispin-ki Sep 5, 2023
a3fcd1f
feat: Implement gRPC server to ingest streaming features (#3687)
mehmettokgoz Sep 7, 2023
6474b4b
fix: Add NUMERIC to bq_to_feast type map (#3719)
sudohainguyen Sep 7, 2023
0049356
chore: Widen redis requirement to make it easier to install alongside…
breno-costa Sep 7, 2023
f28ccc2
fix: Saved datasets no longer break CLI registry-dump command (#3717)
malcolmk181 Sep 7, 2023
ed7535e
feat: Enhance customization of Trino connections when using Trino-bas…
boliri Sep 7, 2023
a8aeee9
chore(release): release 0.34.0
feast-ci-bot Sep 7, 2023
77bfe36
fix: Fix warnings from deprecated paths and update default log level …
adchia Sep 7, 2023
093928d
fix: Set keepalives_idle None by default (#3756)
ndemashov Sep 7, 2023
904c4c7
fix: Pin numpy version to avoid spammy deprecation messages
adchia Sep 7, 2023
9df2224
chore(release): release 0.34.1
feast-ci-bot Sep 7, 2023
e065883
chore: Updating docs to fix some outdated assets (e.g. release process)
adchia Sep 21, 2023
1ddf422
Merge From Affirm/0.34
IsraelAgundis Jan 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/auto_assign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ assignees:
- woop
- tsotnet
- achals
- adchia
- felixwang9817

# A number of assignees to add to the pull request
Expand Down
14 changes: 8 additions & 6 deletions .github/fork_workflows/fork_pr_integration_tests_aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,15 @@ jobs:
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
id: setup-python
with:
python-version: ${{ matrix.python-version }}
Expand All @@ -109,9 +109,6 @@ jobs:
aws-region: us-west-2
- name: Use AWS CLI
run: aws sts get-caller-identity
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<22.1"
- name: Get pip cache dir
id: pip-cache
run: |
Expand All @@ -126,6 +123,9 @@ jobs:
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }}
restore-keys: |
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<22.3"
- name: Install pip-tools
run: pip install pip-tools
- name: Install apache-arrow on ubuntu
Expand All @@ -139,7 +139,9 @@ jobs:
sudo apt install -y -V libarrow-dev
- name: Install apache-arrow on macos
if: matrix.os == 'macOS-latest'
run: brew install apache-arrow
run: |
brew install apache-arrow
brew install pkg-config
- name: Install dependencies
run: make install-python-ci-dependencies
- name: Setup Redis Cluster
Expand Down
14 changes: 8 additions & 6 deletions .github/fork_workflows/fork_pr_integration_tests_gcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ jobs:
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
id: setup-python
with:
python-version: ${{ matrix.python-version }}
Expand All @@ -53,9 +53,6 @@ jobs:
project_id: ${{ secrets.GCP_PROJECT_ID }}
- name: Use gcloud CLI
run: gcloud info
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<22.1"
- name: Get pip cache dir
id: pip-cache
run: |
Expand All @@ -70,6 +67,9 @@ jobs:
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }}
restore-keys: |
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<23.2"
- name: Install pip-tools
run: pip install pip-tools
- name: Install apache-arrow on ubuntu
Expand All @@ -83,7 +83,9 @@ jobs:
sudo apt install -y -V libarrow-dev
- name: Install apache-arrow on macos
if: matrix.os == 'macOS-latest'
run: brew install apache-arrow
run: |
brew install apache-arrow
brew install pkg-config
- name: Install dependencies
run: make install-python-ci-dependencies
- name: Setup Redis Cluster
Expand Down
15 changes: 8 additions & 7 deletions .github/fork_workflows/fork_pr_integration_tests_snowflake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ jobs:
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
# pull_request_target runs the workflow in the context of the base repo
# as such actions/checkout needs to be explicit configured to retrieve
# code from the PR.
ref: refs/pull/${{ github.event.pull_request.number }}/merge
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
id: setup-python
with:
python-version: ${{ matrix.python-version }}
Expand All @@ -43,10 +43,6 @@ jobs:
uses: actions/setup-go@v2
with:
go-version: 1.18.0

- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<22.1"
- name: Get pip cache dir
id: pip-cache
run: |
Expand All @@ -61,6 +57,9 @@ jobs:
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }}
restore-keys: |
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-pip-
- name: Upgrade pip version
run: |
pip install --upgrade "pip>=21.3.1,<23.2"
- name: Install pip-tools
run: pip install pip-tools
- name: Install apache-arrow on ubuntu
Expand All @@ -74,7 +73,9 @@ jobs:
sudo apt install -y -V libarrow-dev
- name: Install apache-arrow on macos
if: matrix.os == 'macOS-latest'
run: brew install apache-arrow
run: |
brew install apache-arrow
brew install pkg-config
- name: Install dependencies
run: make install-python-ci-dependencies
- name: Setup Redis Cluster
Expand Down
148 changes: 37 additions & 111 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Get release version
Expand Down Expand Up @@ -52,83 +52,44 @@ jobs:
echo $HIGHEST_SEMVER_TAG

build-python-wheel:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-10.15 ]
name: Build wheels
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: "3.8"
architecture: x64
- name: Setup Node
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: '17.x'
registry-url: 'https://registry.npmjs.org'
- name: Build UI
run: make build-ui
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: "cp3*_x86_64"
CIBW_SKIP: "cp36-* cp37-* *-musllinux_x86_64 cp310-macosx_x86_64"
CIBW_ARCHS: "native"
CIBW_ENVIRONMENT: >
COMPILE_GO=True PATH=$PATH:/usr/local/go/bin
CIBW_BEFORE_ALL_LINUX: |
curl -o go.tar.gz https://dl.google.com/go/go1.18.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go.tar.gz
go version
yum -y update &&
yum install -y epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm &&
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm &&
yum install -y --enablerepo=epel arrow-devel # For C++
CIBW_BEFORE_ALL_MACOS: |
brew install apache-arrow
curl -o python.pkg https://www.python.org/ftp/python/3.9.12/python-3.9.12-macosx10.9.pkg
sudo installer -pkg python.pkg -target /
# There's a `git restore` in here because `make install-go-ci-dependencies` is actually messing up go.mod & go.sum.
CIBW_BEFORE_BUILD: |
make install-protoc-dependencies
make install-go-proto-dependencies
make install-go-ci-dependencies
git status
git restore go.mod go.sum
git restore sdk/python/feast/ui/yarn.lock
CIBW_BEFORE_TEST: "cd {project} && git status"
# py3.10 on MacOS does not work with Go so we have to install separately. Issue is tracked here: https://github.com/feast-dev/feast/issues/2881.
- name: Build py310 specific wheels for macos
if: matrix.os == 'macos-10.15'
uses: pypa/[email protected]
env:
CIBW_BUILD: "cp310-macosx_x86_64"
CIBW_ARCHS: "native"
# Need this environment variable because of this issue: https://github.com/pypa/cibuildwheel/issues/952.
CIBW_ENVIRONMENT: >
_PYTHON_HOST_PLATFORM=macosx-10.15-x86_64
# There's a `git restore` in here because remnant go.mod, go.sum changes from the build mess up the wheel naming.
CIBW_BEFORE_BUILD: |
git status
git restore go.mod go.sum
git restore sdk/python/feast/ui/yarn.lock
brew install apache-arrow
- uses: actions/upload-artifact@v2
run: |
python -m pip install build
python -m build --wheel --outdir wheelhouse/
- uses: actions/upload-artifact@v3
with:
name: wheels
path: ./wheelhouse/*.whl

build-source-distribution:
name: Build source distribution
runs-on: macos-10.15
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup Python
id: setup-python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
with:
python-version: "3.10"
architecture: x64
- name: Setup Node
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: '17.x'
registry-url: 'https://registry.npmjs.org'
Expand All @@ -137,16 +98,14 @@ jobs:
run: |
pip install -U pip setuptools wheel twine
make install-protoc-dependencies
make install-go-proto-dependencies
make install-go-ci-dependencies
make build-ui
git status
git restore go.mod go.sum
git restore sdk/python/feast/ui/yarn.lock
- name: Build
run: |
python3 setup.py sdist
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: wheels
path: dist/*
Expand All @@ -161,7 +120,7 @@ jobs:
env:
REGISTRY: feastdev
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
Expand All @@ -177,7 +136,7 @@ jobs:
needs: [build-python-wheel, build-source-distribution, get-version]
strategy:
matrix:
os: [ubuntu-latest, macos-10.15 ]
os: [ubuntu-latest, macos-latest ]
python-version: [ "3.8", "3.9", "3.10"]
from-source: [ True, False ]
env:
Expand All @@ -197,52 +156,28 @@ jobs:
steps:
- name: Setup Python
id: setup-python
uses: actions/setup-python@v2
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: actions/setup-go@v3
with:
go-version: '>=1.17.0'
- uses: actions/download-artifact@v2
with:
name: wheels
path: dist
- name: Install OS X dependencies
if: matrix.os == 'macos-latest'
run: brew install coreutils
- name: Install wheel
if: ${{ !matrix.from-source }}
# try to install all wheels; only the current platform wheel should be actually installed
run: |
cd dist/
pip install wheel
for f in *.whl; do pip install $f || true; done
- name: Install apache-arrow on ubuntu
if: ${{ matrix.from-source && matrix.os == 'ubuntu-latest' }}
run: |
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
sudo apt install -y -V libarrow-dev
- name: Install apache-arrow on macos
if: ${{ matrix.from-source && matrix.os == 'macos-10.15' && matrix.python-version != '3.10' }}
run: brew install apache-arrow
- name: Install dist with go
if: ${{ matrix.from-source && (matrix.python-version != '3.10' || matrix.os == 'ubuntu-latest')}}
env:
COMPILE_GO: "True"
run: |
pip install 'grpcio-tools==1.47.0' 'pybindgen==0.22.0'
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
pip install dist/*tar.gz
# py3.10 on MacOS does not work with Go so we have to install separately. Issue is tracked here: https://github.com/feast-dev/feast/issues/2881
- name: Install dist w/o go
if: ${{ matrix.from-source && matrix.python-version == '3.10' && matrix.os == 'macos-10.15'}}
- name: Install sdist
# try to install the sdist
if: ${{ matrix.from-source }}
run: pip install dist/*tar.gz
- name: Install OS X dependencies
if: matrix.os == 'macos-10.15'
run: brew install coreutils
# Validate that the feast version installed is not development and is the correct version of the tag we ran it off of.
- name: Validate Feast Version
run: |
Expand All @@ -257,21 +192,12 @@ jobs:
echo "$VERSION_OUTPUT from installed wheel is not in the correct format or doesn't have the right version $VERSION."
exit 1
fi
- name: Smoke test
run: |
feast init test_repo
cd test_repo/feature_repo
feast apply
echo "$TEST_SCRIPT" > run-and-wait.sh
bash run-and-wait.sh feast serve
bash run-and-wait.sh feast ui
# We disable this test for the Python 3.10 binary since it does not include Go.
- name: Smoke test with go
if: matrix.python-version != '3.10' || matrix.os == 'ubuntu-latest'
run: |
cd test_repo/feature_repo
feast apply
echo "$TEST_SCRIPT" > run-and-wait.sh
pip install cffi
printf "\ngo_feature_serving: True" >> feature_store.yaml
bash run-and-wait.sh feast serve
# This is temporarily disabled.
# - name: Smoke test
# run: |
# feast init test_repo
# cd test_repo/feature_repo
# feast apply
# echo "$TEST_SCRIPT" > run-and-wait.sh
# bash run-and-wait.sh feast serve
# bash run-and-wait.sh feast ui
Loading