Files
wireguard-ui/.gitea/workflows/build-and-push.yaml
Артём Грачёв 34a54790e1
Some checks failed
Build container images / build-image (push) Failing after 48s
add .gitea actions
2026-04-13 19:00:42 +03:00

93 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Build container images
on:
push:
branches:
- "master"
tags:
- "*"
jobs:
build-image:
# [ИЗМЕНЕНИЕ 1]: У нашего раннера стоит метка ubuntu-latest (как мы видели на скриншоте)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# set environment
- name: Set BUILD_TIME env
run: echo "BUILD_TIME=$(date)" >> $GITHUB_ENV
- name: Set GIT_COMMIT env
run: echo "GIT_COMMIT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Prepare image tags
id: image-tags
run: |
# [ИЗМЕНЕНИЕ 2]: Меняем репозиторий с ngoduykhanh на твой личный реестр Gitea.
# ЗАМЕНИ 'admin' на свой логин в Gitea, если он отличается (и пиши его в нижнем регистре!)
base=git.roskompid.org/admin/wireguard-ui
app_version=dev
## Set git tag as image tag
if [[ '${{ github.ref }}' == *"refs/tags/"* ]]; then
github_tag="${GITHUB_REF#refs/*/}"
app_version=${github_tag}
SEMVER_REGEX="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(\\-[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
if [[ "$github_tag" =~ $SEMVER_REGEX ]]; then
github_tag=$(echo "${github_tag}" | sed 's/^v//')
fi
container_images=$(cat <<END_HEREDOC
${base}:${github_tag}
END_HEREDOC
)
## Set 'latest' image tag if 'main' or 'master'
elif [[ '${{ github.ref }}' == 'refs/heads/master' || '${{ github.ref }}' == 'refs/heads/main' ]]; then
container_images=$(cat <<END_HEREDOC
${base}:latest
END_HEREDOC
)
fi
echo "[INFO] container_images: ${container_images}"
echo "container_images<<EOF" >> $GITHUB_OUTPUT
echo "$container_images" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "APP_VERSION=${app_version}" >> $GITHUB_ENV
# [ИЗМЕНЕНИЕ 3]: QEMU и Buildx отлично работают внутри DinD, оставляем как есть!
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# [ИЗМЕНЕНИЕ 4]: Авторизация в твоей Gitea вместо Docker Hub
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: git.roskompid.org
# github.actor автоматически подставит твой логин (тот, кто сделал push)
username: ${{ github.actor }}
# GITEA_TOKEN генерируется самой системой для каждого запуска, его не нужно создавать руками!
password: ${{ secrets.GITEA_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64
tags: ${{ steps.image-tags.outputs.container_images }}
build-args: |
APP_VERSION=${{ env.APP_VERSION }}
BUILD_TIME=${{ env.BUILD_TIME }}
GIT_COMMIT=${{ env.GIT_COMMIT }}
# [ИЗМЕНЕНИЕ 5]: Кэш GHA поддерживается свежими версиями Gitea, оставляем!
cache-from: type=gha
cache-to: type=gha,mode=max