Docker-DocumentServer/.gitea/workflows/build.yml

71 lines
2.2 KiB
YAML

name: Build
on:
schedule:
- cron: "0 0 * * 1"
push:
tags:
- 'manual_build'
jobs:
build:
runs-on: ubuntu-latest
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Checkout
uses: actions/checkout@v4
# with:
# path: my-repo
- name: Install Docker
run: |
apt-get update
apt-get install docker.io -y
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
with:
# driver-opts: network=host
platforms: linux/amd64,linux/arm64
- name: Get upstream repository
run: git clone https://github.com/ONLYOFFICE/DocumentServer upstream && ls -la
- name: Extract tags and labels for Docker
id: meta
run: |
export latest_tag=$(git describe --tags --abbrev=0 | cut -d 'v' -f2-)
export tags="jiriks74/onlyoffice-documentserver:${echo $latest_tag},jiriks74/onlyoffice-documentserver:latest"
echo $tags
echo "tags=$tags" >> "$GITEA_OUTPUT"
echo "tags=$tags"
if curl --silent -f -lSL "https://hub.docker.com/v2/repositories/jiriks74/onlyoffice-documentserver/tags/${docker_tag}" > /dev/null; then exit 1; else exit 0; fi
shell: bash
- name: Check if the image was already built
id: check-build-status
run: |
echo ${{ steps.meta.outputs.tags }}
docker_tag=$(echo ${{ steps.meta.outputs.tags }} | cut -d ':' -f2)
if curl --silent -f -lSL "https://hub.docker.com/v2/repositories/jiriks74/onlyoffice-documentserver/tags/${docker_tag}" > /dev/null; then exit 1; else exit 0; fi
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push image
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ needs.build.outputs.tags }}
# labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64
context: .
file: ./Dockerfile