Build-Action #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build-Action # When pushing to any branch then run this action | |
# Env variable | |
env: | |
DESCRIPTION: "smtp-to-telegram relay" | |
ALPINE_VERSION: "${{ vars.ALPINE_VERSION }}" | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'main' | |
schedule: | |
- cron: "0 0 1 * 0" | |
jobs: # job name | |
build-deploy: | |
permissions: | |
contents: read | |
packages: write | |
attestations: write | |
id-token: write | |
runs-on: ubuntu-latest # runner name : (ubuntu latest version) | |
steps: | |
- name: Check out my repo | |
uses: actions/checkout@v4 | |
- name: lowercase repository | |
run: | | |
echo "IMAGE_NAME=${GITHUB_REPOSITORY@L}" >> ${GITHUB_ENV} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: 'lunux/amd64,linux/arm64,linux/arm/v7' | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
platforms: 'lunux/amd64,linux/arm64,linux/arm/v7' | |
- name: dockerhub login | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ vars.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: ghcr login | |
uses: docker/login-action@v3 | |
with: | |
registry: https://ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build the Docker image # push The image to the docker hub | |
uses: docker/build-push-action@v6 | |
with: | |
tags: | | |
${{ vars.REPO_NAME }}:latest | |
ghcr.io/${{ env.IMAGE_NAME }}:latest | |
labels: | | |
MAINTAINER="Marcello Percoco <[email protected]>" | |
org.opencontainers.image.source=https://github.com/MarcelloPercoco/smtp_to_telegram | |
org.opencontainers.image.description=${{ env.DESCRIPTION }} | |
build-args: | | |
ALPINE_VERSION=${{ env.ALPINE_VERSION }} | |
platforms: | | |
linux/arm/v7 | |
linux/arm64 | |
linux/amd64 | |
push: true | |
sbom: true | |
provenance: mode=max | |
annotations: org.opencontainers.image.description=${{ env.DESCRIPTION }} |