diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..da2fda7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,84 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + + schedule: + - cron: "0 0 * * *" + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-latest + container: + image: almalinux:8 + volumes: + - ${{ github.workspace }}:${{ github.workspace }} + + steps: + - name: Setup tools + run: | + dnf install -yq jq git tar gzip make curl + + LATEST="$(curl -SsL https://api.github.com/repos/sibprogrammer/xq/releases/latest | jq -r '.tag_name')" + curl -sSL -o xq.tar.gz https://github.com/sibprogrammer/xq/releases/latest/download/xq_${LATEST//v/}_linux_amd64.tar.gz + tar -xzf xq.tar.gz + mv xq /usr/local/bin/xq + + - name: Get Latest Vespa version + id: vespa-metadata + run: | + VESPA_VERSION=$(curl -sSL https://repo1.maven.org/maven2/com/yahoo/vespa/parent/maven-metadata.xml | \ + xq -x '/metadata/versioning/latest') + echo "Using version: $VESPA_VERSION" + echo "version=$VESPA_VERSION" >> $GITHUB_OUTPUT + + - uses: actions/checkout@v4 + + - name: build-rpm + env: + VESPA_VERSION: ${{ steps.vespa-metadata.outputs.version }} + run: | + git tag -d "v$VESPA_VERSION" || true + git tag -a "v$VESPA_VERSION" -m "Version $VESPA_VERSION" + make -f .copr/Makefile rpm outdir="$(pwd)" + + git status + + ls -lA + + # - uses: actions/upload-artifact@v4 + # with: + # name: vespa-rpm + + test: + runs-on: ubuntu-latest + + needs: + - build + + steps: + - uses: actions/checkout@v4 + + - uses: actions/download-artifact@v4 + with: + name: vespa-rpm + + - name: Build + uses: docker/build-push-action@v6 + with: + load: true + tags: local-vespa-ann-benchmark + + - uses: actions/checkout@v4 + with: + repository: erikbern/ann-benchmarks + path: ann-benchmarks