alerta_alerta/.github/workflows/docker.yml

50 lines
1.4 KiB
YAML

name: Docker
on:
push:
branches: [ master, release/* ]
tags: [ '**' ]
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
BUILD_NUMBER: ${{ format('{0}-{1}-{2}', github.run_id, github.run_number, github.run_attempt) }}
jobs:
build:
name: Build & Push
runs-on: ubuntu-latest
env:
REPOSITORY_URL: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/alerta-api
steps:
- uses: actions/checkout@v4
- name: Build Image
id: docker-build
run: >-
docker build
--build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
--build-arg BUILD_NUMBER=$BUILD_NUMBER
--build-arg RELEASE=$(cat VERSION)
--build-arg VERSION=${{ github.sha }}
-t $IMAGE_NAME
-t $REPOSITORY_URL/$IMAGE_NAME:$(cat VERSION)
-t $REPOSITORY_URL/$IMAGE_NAME:$(git rev-parse --short HEAD)
-t $REPOSITORY_URL/$IMAGE_NAME:latest .
- name: Docker Login
uses: docker/login-action@v2
with:
registry: ${{ env.REPOSITORY_URL }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish Image
id: docker-push
run: docker push --all-tags $REPOSITORY_URL/$IMAGE_NAME
- uses: act10ns/slack@v2
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()