55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: Prepare back-end environment
|
|
description: |
|
|
Prepare the backend. Installs jdk, Clojure, and fetches the cache for m2.
|
|
inputs:
|
|
java-version:
|
|
required: true
|
|
default: "25"
|
|
clojure-version:
|
|
required: true
|
|
default: "1.12.0.1488"
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Prepare JDK ${{ inputs.java-version }}
|
|
uses: actions/setup-java@v5.2.0
|
|
with:
|
|
java-version: ${{ inputs.java-version }}
|
|
distribution: "temurin"
|
|
- name: Install Clojure CLI
|
|
shell: bash
|
|
run: |
|
|
for attempt in 1 2 3; do
|
|
curl --retry 3 --retry-delay 5 --fail -O https://download.clojure.org/install/linux-install-${{ inputs.clojure-version }}.sh \
|
|
&& sudo bash ./linux-install-${{ inputs.clojure-version }}.sh \
|
|
&& break
|
|
echo "::warning::Clojure install attempt $attempt failed, retrying in 10s..."
|
|
sleep 10
|
|
done
|
|
if ! clojure --version; then
|
|
echo "::error::Clojure CLI installation failed after 3 attempts"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Get M2 cache key
|
|
uses: ./.github/actions/get-cache-keys
|
|
id: get-cache-keys
|
|
|
|
- name: Install uv (for Python package installation)
|
|
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
|
with:
|
|
enable-cache: false
|
|
version: "0.10.2" # keep in sync with mise.toml
|
|
github-token: ${{ github.token }}
|
|
|
|
- name: Restore M2 cache
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: |
|
|
~/.m2
|
|
~/.gitlibs
|
|
key: ${{ steps.get-cache-keys.outputs.m2-cache-key }}
|
|
restore-keys: |
|
|
${{ steps.get-cache-keys.outputs.m2-restore-key }}
|