Files
Oleg Litvinovich 0971370b25
build / build (push) Successful in 1m7s
simplify workflow
2026-05-26 14:14:00 +04:00

48 lines
1.4 KiB
YAML

name: build
on:
push:
branches: [main]
workflow_dispatch:
env:
REGISTRY: harbor.furynrage.com
IMAGE: harbor.furynrage.com/demo-app/app
# DinD sidecar в act-runner pod слушает 2375 на host network
DOCKER_HOST: tcp://localhost:2375
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install docker CLI
run: |
apt-get update -qq
apt-get install -y -qq --no-install-recommends docker.io ca-certificates
- name: Compute sha tag
id: tag
run: echo "sha=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_OUTPUT
- name: Login + build + push
run: |
SHA=${{ steps.tag.outputs.sha }}
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login $REGISTRY -u "${{ secrets.REGISTRY_USER }}" --password-stdin
docker build -t $IMAGE:$SHA -t $IMAGE:latest .
docker push $IMAGE:$SHA
docker push $IMAGE:latest
- name: Trivy scan
run: |
SHA=${{ steps.tag.outputs.sha }}
docker run --rm \
-e TRIVY_USERNAME="${{ secrets.REGISTRY_USER }}" \
-e TRIVY_PASSWORD="${{ secrets.REGISTRY_PASSWORD }}" \
aquasec/trivy:latest image \
--severity CRITICAL,HIGH \
--exit-code 0 \
--no-progress \
$IMAGE:$SHA