72 lines
2 KiB
YAML
72 lines
2 KiB
YAML
name: "Invidious CI"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
# schedule:
|
|
# - cron: '0 7 * * 0'
|
|
push:
|
|
branches:
|
|
- "master"
|
|
paths-ignore:
|
|
- "*.md"
|
|
- LICENCE
|
|
- TRANSLATION
|
|
- invidious.service
|
|
- .git*
|
|
- .editorconfig
|
|
- screenshots/*
|
|
- .github/ISSUE_TEMPLATE/*
|
|
- kubernetes/**
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: runner
|
|
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
|
|
|
- uses: https://code.forgejo.org/docker/setup-buildx-action@v3
|
|
name: Setup Docker BuildX system
|
|
|
|
- name: Set up Crystal cache
|
|
uses: actions/cache@v4
|
|
id: crystal-cache
|
|
with:
|
|
path: |
|
|
~/.cache/crystal
|
|
lib
|
|
invidious
|
|
key: ${{ runner.os }}-crystal-${{ hashFiles('**/shard.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-crystal-
|
|
|
|
- name: Install shards
|
|
if: steps.crystal-cache.outputs.cache-hit != 'true'
|
|
run: shards check || shards install --production
|
|
|
|
- name: Login to Docker Container Registry
|
|
uses: https://code.forgejo.org/docker/login-action@v3.1.0
|
|
with:
|
|
registry: git.nadeko.net
|
|
username: ${{ secrets.USERNAME }}
|
|
password: ${{ secrets.TOKEN }}
|
|
|
|
- name: Docker meta
|
|
id: meta
|
|
uses: https://github.com/docker/metadata-action@v5
|
|
with:
|
|
images: git.nadeko.net/fijxu/invidious
|
|
tags: |
|
|
type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
|
|
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
|
|
|
|
- uses: https://code.forgejo.org/docker/build-push-action@v6
|
|
name: Build images
|
|
with:
|
|
context: .
|
|
file: docker/Dockerfile
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
platforms: linux/amd64
|
|
push: true
|
|
build-args: |
|
|
"release=1"
|