Skip to content

docker

docker #48

Workflow file for this run

## Dual build:
## - once in (focal,jammy,...) matrix for amd64 only, and
## - once (noble) for a dual-platform (arm64, amd64)
name: docker
on:
#push:
schedule:
- cron: "22 2 2 * *"
workflow_dispatch:
jobs:
dual-platform:
runs-on: ubuntu-latest
name: 24.04 (dual-platform)
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
no-cache: true
platforms: linux/amd64,linux/arm64
context: noble
tags: rocker/r-bspm:noble,rocker/r-bspm:24.04,rocker/r-bspm:latest
matrix:
runs-on: ${{ matrix.config.runs }}
name: ${{ matrix.config.tag }} (${{ matrix.config.cpu }})
strategy:
fail-fast: false
matrix:
config:
- { directory: focal, tag: '20.04', cpu: amd64, runs: ubuntu-latest }
- { directory: jammy, tag: '22.04', cpu: amd64, runs: ubuntu-latest }
- { directory: testing, tag: 'testing', cpu: amd64, runs: ubuntu-latest }
#- { directory: fedora, tag: 'f34' },
#- { directory: arch, tag: 'arch' }
steps:
- name: Checkout
uses: actions/checkout@v4
#- name: Set up QEMU
# uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
no-cache: true
context: ${{ matrix.config.directory }}
tags: rocker/r-bspm:${{ matrix.config.tag }}