[add] librephotos

This commit is contained in:
Andy Bunce 2023-01-14 17:48:03 +00:00
parent ebc53109d4
commit a23428dec3
44 changed files with 2123 additions and 0 deletions

View file

@ -0,0 +1,51 @@
name: backend-base
on:
push:
# Publish `dev` as Docker `latest` image.
branches:
- main
paths:
- 'backend/base/**'
jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: echo "To-Do Add Running Tests"
build:
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./backend/base
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-base:dev

View file

@ -0,0 +1,51 @@
name: backend-dependencies
on:
push:
# Publish `dev` as Docker `latest` image.
branches:
- main
paths:
- 'backend/dependencies/**'
jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: echo "To-Do Add Running Tests"
build:
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./backend/dependencies
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-dependencies:dev

View file

@ -0,0 +1,90 @@
name: backend
on:
release:
types: [created]
push:
branches:
- main
paths:
- 'backend/**'
repository_dispatch:
types: backend-commit-event
env:
IMAGE_NAME: librephotos
jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: echo "To-Do Add Running Tests"
build:
name: Building dev build
# Ensure test job passes before pushing image.
if: github.event_name != 'release'
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./backend
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos:dev
release-job:
name: Releasing
if: github.event_name == 'release' && github.event.action == 'created'
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./backend
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos:${{ github.event.release.tag_name }},reallibrephotos/librephotos:latest

View file

@ -0,0 +1,55 @@
# This is a basic workflow to help you get started with Actions
name: Build dlib dependency
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
# Publish `dev` as Docker `latest` image.
branches:
- main
paths:
- 'dependencies/dlib/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./dependencies/dlib
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/dlib-builder:dev
upload:
# The type of runner that the job will run on
runs-on: reallibrephotos/dlib-builder:dev
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Upload a Build Artifact
uses: actions/upload-artifact@v2.3.1
with:
name: dlib
path: /tmp/builds/dlib.zip

View file

@ -0,0 +1,99 @@
name: frontend
on:
release:
types: [created]
repository_dispatch:
types: frontend-commit-event
push:
# Publish `dev` as Docker `latest` image.
branches:
- main
paths:
- 'frontend/**'
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
env:
IMAGE_NAME: librephotos-frontend
jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: echo "To-Do Add Tests"
build:
if: github.event_name != 'release'
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./frontend
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-frontend:dev
release-job:
name: Releasing
if: github.event_name == 'release' && github.event.action == 'created'
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./frontend
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-frontend:${{ github.event.release.tag_name }},reallibrephotos/librephotos-frontend:latest

View file

@ -0,0 +1,88 @@
name: proxy
on:
release:
types: [created]
push:
# Publish `dev` as Docker `latest` image.
branches:
- main
paths:
- 'proxy/**'
jobs:
# Run tests.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: echo "To-Do Add Tests"
build:
if: github.event_name != 'release'
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./proxy
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-proxy:dev
cache-from: type=gha
cache-to: type=gha,mode=max
release-job:
name: Releasing
if: github.event_name == 'release' && github.event.action == 'created'
# Ensure test job passes before pushing image.
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./proxy
platforms: linux/amd64,linux/arm64
push: true
tags: reallibrephotos/librephotos-proxy:${{ github.event.release.tag_name }},reallibrephotos/librephotos-proxy:latest