From 708664ad9899bfcc870966835123338c0fd788fc Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 14:01:07 -0400 Subject: [PATCH 1/9] #360: Sync SBT succeeded_tests to S3 --- .github/workflows/ci.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f072570f..3540aa517 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,6 +30,7 @@ jobs: - name: Misc. Setup run: | sudo snap install task --classic + sudo snap install awscli --classic sudo sysctl -w vm.max_map_count=262144 - name: Initialize SBT run: sbt update @@ -42,19 +43,23 @@ jobs: env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - run: sbt pullRemoteCache + run: | + sbt pullRemoteCache + aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . - name: Compile with Cache run: sbt compile Test/compile - - name: Run Cluster - run: task cluster:run - - name: Test - run: task jvm:test +# - name: Run Cluster +# run: task cluster:run +# - name: Test +# run: task jvm:test - name: Push Build Cache - if: github.event_name == 'push' +# if: github.event_name == 'push' env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - run: sbt pushRemoteCache + run: | + sbt pushRemoteCache + aws s3 sync --exclude '*' --include '**/succeeded_tests' . s3://elastiknn-sbt-build-cache/succeeded_tests/ - name: Cluster Logs if: failure() run: task cluster:logs From bec0a451d0595223e43aaa9889c1929886bc2712 Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 14:08:19 -0400 Subject: [PATCH 2/9] snap install aws-cli and use testQuick --- .github/workflows/ci.yml | 12 ++++++------ .../com/klibisz/elastiknn/query/RecallSuite.scala | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3540aa517..822e468d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - name: Misc. Setup run: | sudo snap install task --classic - sudo snap install awscli --classic + sudo snap install aws-cli --classic sudo sysctl -w vm.max_map_count=262144 - name: Initialize SBT run: sbt update @@ -48,12 +48,12 @@ jobs: aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . - name: Compile with Cache run: sbt compile Test/compile -# - name: Run Cluster -# run: task cluster:run -# - name: Test -# run: task jvm:test + - name: Run Cluster + run: task cluster:run + - name: Test + run: sbt elastiknn-testing/testQuick - name: Push Build Cache -# if: github.event_name == 'push' + if: github.event_name == 'push' env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/elastiknn-testing/src/test/scala/com/klibisz/elastiknn/query/RecallSuite.scala b/elastiknn-testing/src/test/scala/com/klibisz/elastiknn/query/RecallSuite.scala index a99f17ea7..92f3bd03d 100644 --- a/elastiknn-testing/src/test/scala/com/klibisz/elastiknn/query/RecallSuite.scala +++ b/elastiknn-testing/src/test/scala/com/klibisz/elastiknn/query/RecallSuite.scala @@ -6,6 +6,7 @@ import com.sksamuel.elastic4s.ElasticDsl._ import com.sksamuel.elastic4s.Response import com.sksamuel.elastic4s.requests.searches.SearchResponse import futil.Futil +import org.scalatest.DoNotDiscover import org.scalatest.concurrent.AsyncCancelAfterFailure import org.scalatest.funsuite.AsyncFunSuite import org.scalatest.matchers.should.Matchers @@ -25,6 +26,7 @@ import scala.util.hashing.MurmurHash3.orderedHash * the same query, I have seen different results at times. This seems to be an effect at the Elasticsearch level. * I've tested at the Lucene (sans ES) level and that seems to be reliably deterministic. */ +@DoNotDiscover class RecallSuite extends AsyncFunSuite with Matchers with ElasticAsyncClient with AsyncCancelAfterFailure { // Each test case consists of setting up one Mapping and then running several queries against that mapping. From c3114f6ea9b2c1cbb040721cc285f139d4de7daa Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 14:22:17 -0400 Subject: [PATCH 3/9] debug --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 822e468d0..ebb9e4331 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,10 @@ jobs: - name: Run Cluster run: task cluster:run - name: Test - run: sbt elastiknn-testing/testQuick + run: | + find . -name succeeded_tests | xargs md5sum + sbt elastiknn-testing/testQuick + find . -name succeeded_tests | xargs md5sum - name: Push Build Cache if: github.event_name == 'push' env: From 6f526c46be819c42caaacd8f89556c0b1fd48dec Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 14:40:24 -0400 Subject: [PATCH 4/9] debug --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebb9e4331..33fb20838 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,7 @@ jobs: find . -name succeeded_tests | xargs md5sum sbt elastiknn-testing/testQuick find . -name succeeded_tests | xargs md5sum + sbt elastiknn-testing/testQuick - name: Push Build Cache if: github.event_name == 'push' env: From 79548c7a85d2eec098d96c3d119471864e74294c Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 14:59:05 -0400 Subject: [PATCH 5/9] check if git branch --show-current works in CI --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33fb20838..137a86d2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,7 @@ jobs: cache: 'sbt' - name: Misc. Setup run: | + git branch --show-current sudo snap install task --classic sudo snap install aws-cli --classic sudo sysctl -w vm.max_map_count=262144 @@ -52,6 +53,7 @@ jobs: run: task cluster:run - name: Test run: | + git branch --show-current find . -name succeeded_tests | xargs md5sum sbt elastiknn-testing/testQuick find . -name succeeded_tests | xargs md5sum From ee980fd2d11e2687617c5f541899c5c441f1af4e Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 15:44:01 -0400 Subject: [PATCH 6/9] debug --- .github/workflows/ci.yml | 12 +++++++++++- project/BuildCachePlugin.scala | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 137a86d2a..3f8e8ee08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,12 +52,22 @@ jobs: - name: Run Cluster run: task cluster:run - name: Test + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCES run: | - git branch --show-current find . -name succeeded_tests | xargs md5sum sbt elastiknn-testing/testQuick find . -name succeeded_tests | xargs md5sum + + aws s3 sync --exclude '*' --include '**/succeeded_tests' . s3://elastiknn-sbt-build-cache/succeeded_tests/ + find . -name succeeded_tests | xargs rm -rf + + aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . + find . -name succeeded_tests | xargs md5sum + sbt elastiknn-testing/testQuick + find . -name succeeded_tests | xargs md5sum - name: Push Build Cache if: github.event_name == 'push' env: diff --git a/project/BuildCachePlugin.scala b/project/BuildCachePlugin.scala index 06757cee2..2b93927d3 100644 --- a/project/BuildCachePlugin.scala +++ b/project/BuildCachePlugin.scala @@ -19,11 +19,14 @@ object BuildCachePlugin extends AutoPlugin { // This build cache is currently only available to the AWS IAM user used by Elastiknn's CI. // If you don't have permissions, running pullRemoteCache will fail gracefully with warnings. + private val s3BaseUrl = "s3://elastiknn-sbt-build-cache.s3-us-east-1.amazonaws.com/remote_cache" private val s3RemoteCacheResolver = "S3 Remote Cache" at "s3://elastiknn-sbt-build-cache.s3-us-east-1.amazonaws.com/remote_cache" override lazy val projectSettings = Seq( - remoteCacheResolvers += s3RemoteCacheResolver, + remoteCacheResolvers ++= Seq( + "S3 Remote Cache" at s"$s3BaseUrl/master" + ), pushRemoteCacheTo := Some(s3RemoteCacheResolver), Compile / pushRemoteCacheConfiguration ~= (_.withOverwrite(true)), Test / pushRemoteCacheConfiguration ~= (_.withOverwrite(true)) From c136e519a6ed0bd3b4caf4c1cd94af055dee9143 Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 15:55:21 -0400 Subject: [PATCH 7/9] debug --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f8e8ee08..f57fd36dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Test env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCES + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS }} run: | find . -name succeeded_tests | xargs md5sum sbt elastiknn-testing/testQuick From e4232e068156290a79a1a1b74290eb2f23c50b94 Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 16:13:33 -0400 Subject: [PATCH 8/9] debug --- .github/workflows/ci.yml | 55 ++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f57fd36dc..e0186af16 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,41 +33,42 @@ jobs: sudo snap install task --classic sudo snap install aws-cli --classic sudo sysctl -w vm.max_map_count=262144 - - name: Initialize SBT - run: sbt update - - name: Compile without Cache - run: | - task jvm:clean - sbt compile Test/compile - task jvm:clean - - name: Pull Build Cache - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - run: | - sbt pullRemoteCache - aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . - - name: Compile with Cache - run: sbt compile Test/compile +# - name: Initialize SBT +# run: sbt update +# - name: Compile without Cache +# run: | +# task jvm:clean +# sbt compile Test/compile +# task jvm:clean +# - name: Pull Build Cache +# env: +# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} +# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} +# run: | +# sbt pullRemoteCache +# aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . +# - name: Compile with Cache +# run: sbt compile Test/compile - name: Run Cluster run: task cluster:run - - name: Test + - name: Test and push cache env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS }} run: | - find . -name succeeded_tests | xargs md5sum - sbt elastiknn-testing/testQuick - find . -name succeeded_tests | xargs md5sum - + task jvm:clean + sbt clean compile Test/compile testQuick testQuick pushRemoteCache + find . -name succeeded_tests | xargs cat aws s3 sync --exclude '*' --include '**/succeeded_tests' . s3://elastiknn-sbt-build-cache/succeeded_tests/ - find . -name succeeded_tests | xargs rm -rf - + - name: Pull cache and test + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS }} + run: | + task jvm:clean aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ . - find . -name succeeded_tests | xargs md5sum - - sbt elastiknn-testing/testQuick - find . -name succeeded_tests | xargs md5sum + find . -name succeeded_tests | xargs cat + sbt clean pullRemoteCache compile Test/compile testQuick - name: Push Build Cache if: github.event_name == 'push' env: From cb94b70a7e8c80d207065c595081d0023ecb8ce0 Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sun, 25 Sep 2022 16:37:35 -0400 Subject: [PATCH 9/9] debug --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0186af16..ca78c6990 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Test and push cache env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | task jvm:clean sbt clean compile Test/compile testQuick testQuick pushRemoteCache @@ -63,7 +63,7 @@ jobs: - name: Pull cache and test env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | task jvm:clean aws s3 sync s3://elastiknn-sbt-build-cache/succeeded_tests/ .