# Build the project build: needs: [] image: $CI_REGISTRY/libretunes/ops/docker-leptos:latest script: - cargo-leptos build # Build the docker image and push it to the registry docker-build: needs: ["build"] image: docker:latest script: - /usr/local/bin/dockerd-entrypoint.sh & - while ! docker info; do echo "Waiting for Docker to become available..."; sleep 1; done - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA . # If running on the default branch, tag as latest - if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $CI_REGISTRY_IMAGE:latest; fi - docker push $CI_REGISTRY_IMAGE --all-tags # Run unit tests test: needs: ["build"] image: $CI_REGISTRY/libretunes/ops/docker-leptos:latest script: - cargo-leptos test # Generate docs cargo-doc: needs: [] image: rust:slim script: - cargo doc --no-deps artifacts: paths: - target/doc