add caches to workflow #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
# Sequence of patterns matched against refs/heads | |
branches: | |
# Push events on main branch | |
- main | |
# Sequence of patterns matched against refs/tags | |
tags: '*' | |
jobs: | |
test: | |
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- '1.10' | |
os: | |
- ubuntu-latest | |
arch: | |
- x64 | |
exclude: | |
- os: macOS-latest | |
arch: x86 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: julia-actions/cache@v1 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install curl libcurl4-openssl-dev | |
- uses: actions/cache@v4 | |
env: | |
cache-name: cache-artifacts | |
with: | |
path: ~/.julia/artifacts | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-test- | |
${{ runner.os }}- | |
- name: Cache database and queries | |
id: cache-data2024 | |
uses: actions/cache@v4 | |
with: | |
path: data2024/**.h5 | |
key: data2024 | |
- name: Download database and queries | |
if: steps.cache-data2024.outputs.cache-hit != 'true' | |
run: | | |
mkdir data2024 | |
cd data2024 | |
curl -O https://sisap-23-challenge.s3.amazonaws.com/SISAP23-Challenge/laion2B-en-clip768v2-n=$DBSIZE.h5 | |
curl -O http://ingeotec.mx/~sadit/sisap2024-data/public-queries-2024-laion2B-en-clip768v2-n=10k.h5 # this url will be updated soon | |
curl -O http://ingeotec.mx/~sadit/sisap2024-data/gold-standard-dbsize=$DBSIZE--public-queries-2024-laion2B-en-clip768v2-n=10k.h5 # this url will be updated soon | |
- uses: julia-actions/julia-buildpkg@v1 | |
- name: Run benchmark | |
env: | |
DBSIZE: 300K | |
run: | | |
pwd | |
ls -l | |
JULIA_PROJECT=. JULIA_NUM_THREADS=auto julia -e 'using Pkg; Pkg.develop(url="https://github.com/sadit/SurrogatedDistanceModels.jl#main"); Pkg.instantiate()' | |
JULIA_PROJECT=. JULIA_NUM_THREADS=auto julia task1.jl $DBSIZE | |
JULIA_PROJECT=. JULIA_NUM_THREADS=auto julia task3.jl $DBSIZE | |
JULIA_PROJECT=. julia eval.jl | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Results | |
path: | | |
results-task*.csv |