Comments (21)
@gaiksaya @dblock we haven't prioritized it yet. We are planning to look in to it in Q3 / Q4 of 2023.
from opensearch-build.
@bbarani is it possible to release an ARCHIVE testDistribution for Mac? Related to opensearch-project/OpenSearch#1676.
from opensearch-build.
@bbarani is it possible to release an ARCHIVE testDistribution for Mac? Related to opensearch-project/OpenSearch#1676.
I like this. Unblocking developers would also help individual plugins move faster on this meta issue. I see this is happening already - opensearch-project/OpenSearch#1676 (comment). Thanks!
from opensearch-build.
I did an audit of all repos (see https://gist.github.com/msfroh/5071d8be1b5408526b6fce0440fc27c0), cutting some automated PRs to see what would happen if we just add macos-latest
everywhere that has ubuntu-latest
and windows-latest
.
The repos where that "just worked" were common-utils, k-NN, and oui.
Here are the repos that require more complicated actions, with recommendations:
- OpenSearch-Dashboard: Has Linux and Windows builds in https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/.github/workflows/build_and_test_workflow.yml. Needs a dedicated MacOS build or needs to refactor to come up with a cross-platform build.
- dashboards-reporting: Has builds for Linux, WIndows, and Mac, but the release workflow (https://github.com/opensearch-project/dashboards-reporting/blob/main/.github/workflows/dashboards-reports-release-workflow.yml) only uploads for Linux and Windows.
- ml-commons: The CI workflow (https://github.com/opensearch-project/ml-commons/blob/main/.github/workflows/CI-workflow.yml) has jobs for Linux and Windows, but no job for MacOS.
- opensearch-dashboards-functional-tests: This is an interesting one, since it looks like we only run e2e tests on Linux. There's a template for Windows, but it's currently unused. I think the first step is to make sure we run e2e tests on Windows (since people do run OpenSearch on Windows in production), and then maybe consider adding e2e testing for MacOS (which I don't think anyone would use in production).
- neural-search and job-scheduler: Both fail because their builds try to download OpenSearch artifacts for MacOS, which are not available, like https://artifacts.opensearch.org/releases/core/opensearch/2.6.0/opensearch-min-2.6.0-darwin-x64.tar.gz. I think we need the OpenSearch core repo to build and publish those artifacts.
- security: Build fails on MacOS because it uses https://github.com/peternied/action-sleep/blob/main/action.yml, which adds
s
suffix on thesleep
argument, which is not Posix-compliant. - notifications and dashboard-notifications: Builds already seem to be broken, unrelated to my attempts to add MacOS builds. They need to be fixed. Example failures: notifications, dashboards-notifications.
- dashboards-maps and anomaly-detection-dashboards-plugin: Both fail on their integration test step where they try to launch OpenSearch wrapped in the
timeout
command, which doesn't seem to be available on MacOS. If we have GNU coreutils installed on the Mac build machines, it should be available asgtimeout
. Alternatively, we might be able to use awhile
loop that counts the total sleep time and aborts when it runs out. - security-analytics-dashboards-plugin: Fails when caching Cypress on MacOS. I haven't been able to figure out why this one fails when other repos have succeeded.
Across the board, I've struggled to get Cypress integration tests passing for OpenSearch Dashboards plugins on MacOS. I've tried several things in opensearch-project/dashboards-search-relevance#143, like increasing start-up time for OSD, but nothing seems to work. In general, the effort for OSD plugins seems to be higher than for OS core plugins.
from opensearch-build.
Please prioritize this to speed up development on mac.
from opensearch-build.
With #751 you can produce a darwin bundle for OpenSearch. This creates bundle/opensearch-1.1.0-darwin-x64.tar.gz
.
./build.sh manifests/1.1.0/opensearch-1.1.0.manifest.yml
./assemble.sh artifacts/manifest.yml
cd artifacts
./opensearch-tar-install.sh
$ curl -u admin:admin --insecure https://localhost:9200
{
"name" : "...",
"cluster_name" : "opensearch",
"cluster_uuid" : "04husTTqQi6cd2bPSRvuqw",
"version" : {
"distribution" : "opensearch",
"number" : "1.1.0",
"build_type" : "tar",
"build_hash" : "15e9f137622d878b79103df8f82d78d782b686a1",
"build_date" : "2021-10-15T13:14:16.973135Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
All plugins except PA seem to load, opened opensearch-project/performance-analyzer#73
from opensearch-build.
@bbarani @saratvemulapalli @peternied @dblock
Is this scheduled for 1.3 release?
This comment seems to imply it, but the roadmap for infra seemed to not have it on there or scheduled for 1.3 release.
Can we get some clarification on when this is going to be completed?
from opensearch-build.
My comment is based of the roadmap: https://github.com/orgs/opensearch-project/projects/1#column-14092180. Assuming it's up to date.
from opensearch-build.
@saratvemulapalli Thanks Sarat, looks like it is scheduled for 1.3 unless @bbarani mentions otherwise.
from opensearch-build.
Someone contributed a formulae to Homebrew that builds and runs OpenSearch-min and OpenSearch Dashboards from source.
https://github.com/Homebrew/homebrew-core/blob/master/Formula/opensearch.rb
See #1314 (comment)
from opensearch-build.
We are currently working on creating Linux based distributions (RPM and Deb) at this point in time. Please feel free to provide your inputs on this issue #741 to prioritize other non Linux distributions for us to pickup post that effort. As always, we welcome any contribution towards the development of additional distributions.
from opensearch-build.
@bbarani with the launch of RPM/DEB, are we looking to add support for MacOS?
Coming from: opensearch-project/OpenSearch#1676
from opensearch-build.
@saratvemulapalli We are currently working on supporting Windows distribution and you can track the status of other distributions here
CC: @setiah
from opensearch-build.
I have put together a basic script that will:
- Fork a repo and clone the fork,
- Find any GitHub workflows that run on
windows-latest
but notmacos-latest
, and addmacos-latest
to thematrix.os
- Commit + push that change back to the fork. (The commit message has a pointer to this issue.)
- Cut a PR against the source repo. (We'll be able to see from the PR checks if the macos-latest build succeeds or fails.)
I'm going to run it against all repositories under opensearch-project.
from opensearch-build.
@msfroh btw, you might be interested in https://github.com/opensearch-project/project-meta and things like https://github.com/opensearch-project/opensearch-clients/blob/main/META.md#open-a-pull-request-in-each-repo
from opensearch-build.
Oh, also I'm working from the assumption that any MacOS distribution at this point would need ARM support to be useful. My 1.5 year-old Mac laptop uses an M1 processor and I gather that more and more folks will be in the same boat as time goes on.
from opensearch-build.
Recently the security team dropped support for MacOS builds because builds were slower and network infrastructure was flaky. We should investigate the reliability of this platform as this will have an impact on maintenance of repositories opensearch-project/security#2467
from opensearch-build.
Looks like we're doing some work in this space with #3670. @gaiksaya is there a plan to make a macos distribution? Are we going to do the items listed above too?
from opensearch-build.
Not that I know of currently. @bbarani Might be able to get more information. The above PR was to support signing clients and driver and other standalone artifacts that have macos as one of the distribution. 😄
from opensearch-build.
Naive question: OpenSearch is written in Java, isn't it? Is the bundled JRE/JDK the only platform-dependent part of the distributions?
from opensearch-build.
Naive question: OpenSearch is written in Java, isn't it? Is the bundled JRE/JDK the only platform-dependent part of the distributions?
Unfortunately not, we have some native code in the ml-commons plugin, for example (though I think it can build for MacOS even on ARM). Also, for OpenSearch Dashboards, there's a lot of NodeJS stuff going on.
Looking back at the experimentation I did in February, OpenSearch Dashboards was where most of the headaches came in. (OpenSearch core builds and runs just fine on my M1 laptop, for example.)
from opensearch-build.
Related Issues (20)
- [BENCHMARK] Add mechanism to retreive the logs from test-execution.json after running benchmark tests
- [QUESTION] Why are our Windows distribution tests failing? HOT 4
- [Bug]: Version bump PR for functional test repo failed to update pack-lock.json HOT 2
- [BUG] opensearch-dashboards-plugin remove securityDashboards sometimes does not work HOT 4
- [Retrospective] Release Version 1.3.16 HOT 1
- [Bug]: Test result files are over-escaped in manifests now
- [Cloudfront S3 Logs for production project website into AOS Domain] HOT 2
- [RELEASE] Release version 1.3.17 HOT 6
- [Renew Key] Upcoming expiration of our current sub public key (expire on 20250512)
- Support aarch64 OpenSearch distribution for MacOS architecture HOT 10
- Release template improvement suggestions HOT 1
- CVE-2024-34146 (Medium) detected in git-server-1.11.jar
- [RELEASE] Release version 2.15.0 HOT 6
- CVE-2024-34145 (High) detected in script-security-1229.v4880b_b_e905a_6.jar
- CVE-2024-34144 (High) detected in script-security-1229.v4880b_b_e905a_6.jar HOT 1
- [Meta][Discussion] k-NN lib building process next approaches to continue support AL2 after CentOS7 deprecation HOT 11
- [Bug]: Gradle check job fails to publish metrics when `pr_number` is null. HOT 1
- [BENCHMARK] Automate Way to Fetch Aggregate Nightly Runs Data HOT 2
- [Retrospective] Release Version 2.14.0 HOT 2
- [RELEASE] Release version 2.14.1 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opensearch-build.