Skip to content

Adapter for Scala Grounders (rvacareanu/grounder) #1556

Adapter for Scala Grounders (rvacareanu/grounder)

Adapter for Scala Grounders (rvacareanu/grounder) #1556

Workflow file for this run

name: SKEMA docker
on:
push:
branches: [main]
tags:
- "**"
pull_request:
branches: [main]
release:
types: [published]
# builds and publishes docker images for the default branch.
# images are tagged with short commit hash, latest, and any tags.
jobs:
# Determine value for app version
app_version:
name: "Determine app version"
runs-on: ubuntu-latest
outputs:
app_version: ${{ steps.app_version.outputs.app_version }}
commit: ${{ steps.app_version.outputs.commit }}
steps:
- name: Set APP_VERSION output
id: app_version
run: |
echo "app_version=${{github.ref_name}}"
if [ -z "${app_version}" ]; then
app_version=${{github.sha}}
echo "app_version=${app_version}"
fi
echo "app_version=$app_version" >> "$GITHUB_OUTPUT"
echo "commit=${{github.sha}}" >> "$GITHUB_OUTPUT"
echo "app_version=$app_version"
echo "commit=${{github.sha}}"
python:
name: "docker image for python components"
needs: [app_version]
runs-on: ubuntu-latest
steps:
# Setup docker
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
# for multi-arch builds (ex. ARM 64)
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
# - name: Prepare buildx builder
# run: |
# docker buildx create --use --name "multiarch-builder" --platform linux/amd64,linux/arm64 --driver "docker-container"
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
# Checkout code
- name: Checkout code
uses: actions/checkout@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.LUM_ASKEM_DOCKERHUB_USERNAME }}
password: ${{ secrets.LUM_ASKEM_DOCKERHUB_TOKEN }}
- name: "Free disk space"
run: |
sudo apt-get update
sudo apt clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
########################################
# lumai/askem-skema-py (img2mml, isa, etc)
########################################
- name: Tags for image
id: tags
# see https://github.com/docker/metadata-action
uses: docker/metadata-action@v4
with:
images: |
lumai/askem-skema-py
lumai/askem-skema-img2mml
tags: |
# latest
type=raw,value=latest
# version
type=semver,pattern={{version}}
# other tags
type=ref,event=tag
# short commit hash
type=sha
- name: Build and push image
# see https://github.com/docker/build-push-action
uses: docker/build-push-action@v5
with:
context: .
file: "Dockerfile.skema-py"
platforms: linux/amd64
#platforms: linux/amd64,linux/arm64
no-cache: true
pull: true
push: ${{ github.event_name != 'pull_request' }}
# references `tags` step in steps for current job
tags: ${{ steps.tags.outputs.tags }}
build-args: |
#APP_VERSION=${{needs.app_version.outputs.app_version}}
APP_VERSION=${{needs.app_version.outputs.commit}}
rust:
name: "docker image for rust components"
needs: [app_version]
runs-on: ubuntu-latest
steps:
# Setup docker
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
# for multi-arch builds (ex. ARM 64)
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
# - name: Prepare buildx builder
# run: |
# docker buildx create --use --name "multiarch-builder" --platform linux/amd64,linux/arm64 --driver "docker-container"
- name: Inspect builder
run: |
echo "Name: ${{ steps.buildx.outputs.name }}"
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
echo "Status: ${{ steps.buildx.outputs.status }}"
echo "Flags: ${{ steps.buildx.outputs.flags }}"
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
# Checkout code
- name: Checkout code
uses: actions/checkout@v3
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.LUM_ASKEM_DOCKERHUB_USERNAME }}
password: ${{ secrets.LUM_ASKEM_DOCKERHUB_TOKEN }}
- name: "Free disk space"
run: |
sudo apt clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
########################################
# lumai/askem-skema-rs
########################################
- name: Tags for image
id: tags
# see https://github.com/docker/metadata-action
uses: docker/metadata-action@v4
with:
images: lumai/askem-skema-rs
tags: |
# latest
type=raw,value=latest
# version
type=semver,pattern={{version}}
# other tags
type=ref,event=tag
# short commit hash
type=sha
- name: Build and push image
# see https://github.com/docker/build-push-action
uses: docker/build-push-action@v5
with:
context: .
file: "Dockerfile.skema-rs"
platforms: linux/amd64
#platforms: linux/amd64,linux/arm64
no-cache: true
pull: true
push: ${{ github.event_name != 'pull_request' }}
# references `tags` step in steps for current job
tags: ${{ steps.tags.outputs.tags }}
build-args: |
#APP_VERSION=${{needs.app_version.outputs.app_version}}
APP_VERSION=${{needs.app_version.outputs.commit}}