Skip to content

Container Images Build and Release #78

Container Images Build and Release

Container Images Build and Release #78

name: Container Images Build and Release
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
schedule:
# This will run every week at 00:00 UTC on Monday
- cron: '0 0 * * 1'
jobs:
build-and-push-docker-image:
name: Docker Image Build and Release
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Get the current date
id: current_date
run: echo "CURRENT_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Building specs-to-google image
uses: docker/build-push-action@v3
with:
context: .
file: ./Dockerfiles/specs-to-google
platforms: linux/amd64,linux/arm64
tags: |
riscvintl/specs-to-google:${{ github.sha }}
riscvintl/specs-to-google:latest
push: ${{ github.event_name != 'pull_request' }}
- name: Building groups-to-google image
uses: docker/build-push-action@v3
with:
context: .
file: ./Dockerfiles/groups-to-google
platforms: linux/amd64,linux/arm64
tags: |
riscvintl/groups-to-google:${{ github.sha }}
riscvintl/groups-to-google:latest
push: ${{ github.event_name != 'pull_request' }}
- name: Create Release
id: create_release
if: github.event_name == 'schedule'
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GHTOKEN }}
with:
tag_name: release-${{ env.CURRENT_DATE }}-${{ github.sha }}
release_name: Release ${{ env.CURRENT_DATE }}-${{ github.sha }}
body: |
This release contains the latest container images built by this repository and hosted at [riscvintl](https://hub.docker.com/repository/docker/riscvintl).