Skip to content

test: add pre-built image to cache from #259

test: add pre-built image to cache from

test: add pre-built image to cache from #259

Workflow file for this run

---
name: Build, Test, and Publish Images
on:
workflow_dispatch:
push:
branches: [main, test/*]
paths:
# ci/cd
- .github/workflows/publish.yml
- .github/workflows/build-test-publish.yml
# build
- pixi.lock
- Dockerfile
- requirements.r
- Rprofile.site
# test
- tests/**
schedule:
# Weekly, at 03:00 on Monday UTC time (see https://crontab.guru)
- cron: "0 3 * * 1"
# https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency:
# only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
foundation:
uses: ./.github/workflows/build-test-publish.yml
secrets: inherit
with:
runs-on: macos-arm64
image: foundation
target: base
no-cache: ${{ github.event_name == 'schedule' }}
labels: |
org.opencontainers.image.title=Foundational Image for CourseKata Notebook Images
org.opencontainers.image.description=System dependencies for CourseKata notebook images.
build-args: |
PIXI_ENV=default
publish: true
skip-tests: true
cache-from: ghcr.io/${{ github.repository_owner }}/foundation:sha-a01afa6
images:
needs: [foundation]
strategy:
matrix:
include:
- image: base-r-notebook-test
pixi_env: base-r
title: Base R Notebook
description: Jupyter Lab, Python, and R, and that's it.
free_disk_space: false
# - image: essentials-notebook-test
# pixi_env: essentials
# title: Essentials Notebook
# description: CourseKata essentials - everything used in the books.
# free_disk_space: true
# - image: r-notebook-test
# pixi_env: r
# title: R Notebook
# description: CourseKata essentials and other R packages for teaching and learning data science.
# free_disk_space: true
# - image: datascience-notebook-test
# pixi_env: datascience
# title: Data Science Notebook
# description: R and Python packages for teaching and learning data science.
# free_disk_space: true
uses: ./.github/workflows/build-test-publish.yml
secrets: inherit
with:
image: ${{ matrix.image }}
no-cache: ${{ github.event_name == 'schedule' }}
labels: |
org.opencontainers.image.title=${{ matrix.title }}
org.opencontainers.image.description=${{ matrix.description }}
build-args: |
PIXI_ENV=${{ matrix.pixi_env }}
publish: true
free-disk-space: ${{ matrix.free_disk_space }}
cache-from: ${{ needs.foundation.outputs.cache-from }}