Add forgejo actions #371
4 changed files with 89 additions and 102 deletions
101
.drone.yml
101
.drone.yml
|
@ -1,101 +0,0 @@
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: lint
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Lint Dockerfile
|
|
||||||
image: hadolint/hadolint:latest-debian
|
|
||||||
pull: if-not-exists
|
|
||||||
commands:
|
|
||||||
- hadolint --version
|
|
||||||
- hadolint Dockerfile
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- failure
|
|
||||||
- success
|
|
||||||
|
|
||||||
- name: Lint script
|
|
||||||
image: koalaman/shellcheck-alpine
|
|
||||||
pull: if-not-exists
|
|
||||||
commands:
|
|
||||||
- shellcheck start-transcode.sh
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- failure
|
|
||||||
- success
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
- push
|
|
||||||
ref:
|
|
||||||
exclude:
|
|
||||||
- refs/heads/renovate/*
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: test
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
pull: if-not-exists
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
username:
|
|
||||||
from_secret: dockerhub_username
|
|
||||||
password:
|
|
||||||
from_secret: dockerhub_password_ro
|
|
||||||
repo: mwalbeck/jellyfin-livestream
|
|
||||||
dry_run: true
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- lint
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: build and publish
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: determine tags
|
|
||||||
image: mwalbeck/determine-docker-tags
|
|
||||||
pull: if-not-exists
|
|
||||||
environment:
|
|
||||||
APP_NAME: JELLYFIN
|
|
||||||
CUSTOM_TAGS: latest
|
|
||||||
DOCKERFILE_PATH: Dockerfile
|
|
||||||
INCLUDE_MAJOR: negative
|
|
||||||
VERSION_TYPE: docker_env
|
|
||||||
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
pull: if-not-exists
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
username:
|
|
||||||
from_secret: dockerhub_username
|
|
||||||
password:
|
|
||||||
from_secret: dockerhub_password
|
|
||||||
repo: mwalbeck/jellyfin-livestream
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- lint
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: signature
|
|
||||||
hmac: 1d6c1aec32d28b7d396e433f1b391b44e0978dec9a10f0c8edbbdc5c4568b98f
|
|
||||||
|
|
||||||
...
|
|
48
.forgejo/workflows/build.yml
Normal file
48
.forgejo/workflows/build.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
name: Build and publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
||||||
|
with:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
- uses: https://github.com/ludeeus/action-shellcheck@2.0.0
|
||||||
|
with:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Get docker tags
|
||||||
|
id: tags
|
||||||
|
shell: sh
|
||||||
|
env:
|
||||||
|
VERSION_TYPE: "docker_env"
|
||||||
|
APP_NAME: "JELLYFIN"
|
||||||
|
DOCKERFILE_PATH: "Dockerfile"
|
||||||
|
CUSTOM_TAGS: "latest"
|
||||||
|
INCLUDE_MAJOR: "no"
|
||||||
|
IMAGE_NAME: "mwalbeck/jellyfin-livestream"
|
||||||
|
run: |
|
||||||
|
determine-docker-tags
|
||||||
|
dockerd &
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: https://github.com/docker/setup-buildx-action@v3
|
||||||
|
- name: Build and push
|
||||||
|
uses: https://github.com/docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.tags.outputs.tags }}
|
40
.forgejo/workflows/test.yml
Normal file
40
.forgejo/workflows/test.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
name: Test
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
if: github.ref != 'refs/heads/renovate/*'
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
||||||
|
with:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
- uses: https://github.com/ludeeus/action-shellcheck@2.0.0
|
||||||
|
with:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
|
||||||
|
test:
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Get docker tags
|
||||||
|
id: tags
|
||||||
|
shell: sh
|
||||||
|
env:
|
||||||
|
VERSION_TYPE: "docker_env"
|
||||||
|
APP_NAME: "JELLYFIN"
|
||||||
|
DOCKERFILE_PATH: "Dockerfile"
|
||||||
|
CUSTOM_TAGS: "latest"
|
||||||
|
INCLUDE_MAJOR: "no"
|
||||||
|
IMAGE_NAME: "mwalbeck/jellyfin-livestream"
|
||||||
|
run: |
|
||||||
|
determine-docker-tags
|
||||||
|
dockerd &
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: https://github.com/docker/setup-buildx-action@v3
|
||||||
|
- name: Test build
|
||||||
|
uses: https://github.com/docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
tags: ${{ steps.tags.outputs.tags }}
|
|
@ -51,7 +51,7 @@ RUN apt-get update; \
|
||||||
echo "deb [arch=amd64] https://repo.jellyfin.org/debian bullseye main" | tee /etc/apt/sources.list.d/jellyfin.list; \
|
echo "deb [arch=amd64] https://repo.jellyfin.org/debian bullseye main" | tee /etc/apt/sources.list.d/jellyfin.list; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install --no-install-recommends -y \
|
apt-get install --no-install-recommends -y \
|
||||||
jellyfin-ffmpeg \
|
jellyfin-ffmpeg5 \
|
||||||
openssl \
|
openssl \
|
||||||
locales \
|
locales \
|
||||||
; \
|
; \
|
||||||
|
|
Loading…
Reference in a new issue