mirror of
https://github.com/iv-org/invidious.git
synced 2026-10-25 06:19:12 -05:00
Remove existing workflows
This commit is contained in:
parent
1a7e3cc4e3
commit
fd30a0c830
37
.github/workflows/auto-close-duplicate.yaml
vendored
37
.github/workflows/auto-close-duplicate.yaml
vendored
@ -1,37 +0,0 @@
|
|||||||
name: Close duplicates
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types: [opened]
|
|
||||||
jobs:
|
|
||||||
run:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions: write-all
|
|
||||||
steps:
|
|
||||||
- uses: iv-org/close-potential-duplicates@v1
|
|
||||||
with:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
# Issue title filter work with anymatch https://www.npmjs.com/package/anymatch.
|
|
||||||
# Any matched issue will stop detection immediately.
|
|
||||||
# You can specify multi filters in each line.
|
|
||||||
filter: ''
|
|
||||||
# Exclude keywords in title before detecting.
|
|
||||||
exclude: ''
|
|
||||||
# Label to set, when potential duplicates are detected.
|
|
||||||
label: duplicate
|
|
||||||
# Get issues with state to compare. Supported state: 'all', 'closed', 'open'.
|
|
||||||
state: open
|
|
||||||
# If similarity is higher than this threshold([0,1]), issue will be marked as duplicate.
|
|
||||||
threshold: 0.9
|
|
||||||
# Reactions to be add to comment when potential duplicates are detected.
|
|
||||||
# Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
|
|
||||||
reactions: ''
|
|
||||||
close: true
|
|
||||||
# Comment to post when potential duplicates are detected.
|
|
||||||
comment: |
|
|
||||||
Hello, your issue is a duplicate of this/these issue(s): {{#issues}}
|
|
||||||
- #{{ number }} [accuracy: {{ accuracy }}%]
|
|
||||||
{{/issues}}
|
|
||||||
|
|
||||||
If this is a mistake please explain why and ping @\unixfox, @\SamantazFox and @\TheFrenchGhosty.
|
|
||||||
|
|
||||||
Please refrain from opening new issues, it won't help in solving your problem.
|
|
||||||
98
.github/workflows/build-nightly-container.yml
vendored
98
.github/workflows/build-nightly-container.yml
vendored
@ -1,98 +0,0 @@
|
|||||||
name: Build and release container directly from master
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "master"
|
|
||||||
paths-ignore:
|
|
||||||
- "*.md"
|
|
||||||
- LICENCE
|
|
||||||
- TRANSLATION
|
|
||||||
- invidious.service
|
|
||||||
- .git*
|
|
||||||
- .editorconfig
|
|
||||||
- screenshots/*
|
|
||||||
- .github/ISSUE_TEMPLATE/*
|
|
||||||
- kubernetes/**
|
|
||||||
# Nix development files that are not used here.
|
|
||||||
- "*.nix"
|
|
||||||
- flake.lock
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
platform: linux/amd64
|
|
||||||
name: "AMD64"
|
|
||||||
dockerfile: "docker/Dockerfile"
|
|
||||||
tag_suffix: ""
|
|
||||||
# GitHub doesn't have a ubuntu-latest-arm runner
|
|
||||||
- os: ubuntu-24.04-arm
|
|
||||||
platform: linux/arm64/v8
|
|
||||||
name: "ARM64"
|
|
||||||
dockerfile: "docker/Dockerfile"
|
|
||||||
tag_suffix: "-arm64"
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v4
|
|
||||||
|
|
||||||
- name: Login to registry
|
|
||||||
uses: docker/login-action@v4
|
|
||||||
with:
|
|
||||||
registry: quay.io
|
|
||||||
username: ${{ secrets.QUAY_USERNAME }}
|
|
||||||
password: ${{ secrets.QUAY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Docker meta
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v6
|
|
||||||
with:
|
|
||||||
images: quay.io/invidious/invidious
|
|
||||||
flavor: |
|
|
||||||
suffix=${{ matrix.tag_suffix }}
|
|
||||||
tags: |
|
|
||||||
type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
|
|
||||||
type=raw,value=master,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
|
|
||||||
labels: |
|
|
||||||
quay.expires-after=12w
|
|
||||||
|
|
||||||
- name: Build and push Docker ${{ matrix.name }} image for Push Event
|
|
||||||
uses: docker/build-push-action@v7
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ${{ matrix.dockerfile }}
|
|
||||||
platforms: ${{ matrix.platform }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
build-args: |
|
|
||||||
"release=1"
|
|
||||||
|
|
||||||
combine-multiarch-images:
|
|
||||||
needs: release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Login to registry
|
|
||||||
uses: docker/login-action@v4
|
|
||||||
with:
|
|
||||||
registry: quay.io
|
|
||||||
username: ${{ secrets.QUAY_USERNAME }}
|
|
||||||
password: ${{ secrets.QUAY_PASSWORD }}
|
|
||||||
|
|
||||||
# https://github.com/marketplace/actions/docker-manifest-create-action
|
|
||||||
- name: Create and push manifest
|
|
||||||
uses: int128/docker-manifest-create-action@v2.26.0
|
|
||||||
with:
|
|
||||||
push: true
|
|
||||||
tags: quay.io/invidious/invidious:master
|
|
||||||
sources: |
|
|
||||||
quay.io/invidious/invidious:master
|
|
||||||
quay.io/invidious/invidious:master-arm64
|
|
||||||
87
.github/workflows/build-stable-container.yml
vendored
87
.github/workflows/build-stable-container.yml
vendored
@ -1,87 +0,0 @@
|
|||||||
name: Build and release container
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
platform: linux/amd64
|
|
||||||
name: "AMD64"
|
|
||||||
dockerfile: "docker/Dockerfile"
|
|
||||||
tag_suffix: ""
|
|
||||||
# GitHub doesn't have a ubuntu-latest-arm runner
|
|
||||||
- os: ubuntu-24.04-arm
|
|
||||||
platform: linux/arm64/v8
|
|
||||||
name: "ARM64"
|
|
||||||
dockerfile: "docker/Dockerfile"
|
|
||||||
tag_suffix: "-arm64"
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v4
|
|
||||||
|
|
||||||
- name: Login to registry
|
|
||||||
uses: docker/login-action@v4
|
|
||||||
with:
|
|
||||||
registry: quay.io
|
|
||||||
username: ${{ secrets.QUAY_USERNAME }}
|
|
||||||
password: ${{ secrets.QUAY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Docker meta
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v6
|
|
||||||
with:
|
|
||||||
images: quay.io/invidious/invidious
|
|
||||||
flavor: |
|
|
||||||
latest=false
|
|
||||||
suffix=${{ matrix.tag_suffix }}
|
|
||||||
tags: |
|
|
||||||
type=semver,pattern={{version}}
|
|
||||||
type=raw,value=latest
|
|
||||||
labels: |
|
|
||||||
quay.expires-after=12w
|
|
||||||
|
|
||||||
- name: Build and push Docker ${{ matrix.name }} image for Push Event
|
|
||||||
uses: docker/build-push-action@v7
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ${{ matrix.dockerfile }}
|
|
||||||
platforms: ${{ matrix.platform }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
build-args: |
|
|
||||||
"release=1"
|
|
||||||
|
|
||||||
combine-multiarch-images:
|
|
||||||
needs: release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Login to registry
|
|
||||||
uses: docker/login-action@v4
|
|
||||||
with:
|
|
||||||
registry: quay.io
|
|
||||||
username: ${{ secrets.QUAY_USERNAME }}
|
|
||||||
password: ${{ secrets.QUAY_PASSWORD }}
|
|
||||||
|
|
||||||
# https://github.com/marketplace/actions/docker-manifest-create-action
|
|
||||||
- name: Create and push manifest
|
|
||||||
uses: int128/docker-manifest-create-action@v2.26.0
|
|
||||||
with:
|
|
||||||
push: true
|
|
||||||
tags: quay.io/invidious/invidious:latest
|
|
||||||
sources: |
|
|
||||||
quay.io/invidious/invidious:latest
|
|
||||||
quay.io/invidious/invidious:latest-arm64
|
|
||||||
167
.github/workflows/ci.yml
vendored
167
.github/workflows/ci.yml
vendored
@ -1,167 +0,0 @@
|
|||||||
name: Invidious CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "0 0 * * *" # Every day at 00:00
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "master"
|
|
||||||
- "api-only"
|
|
||||||
pull_request:
|
|
||||||
branches: "*"
|
|
||||||
paths-ignore:
|
|
||||||
- "*.md"
|
|
||||||
- LICENCE
|
|
||||||
- TRANSLATION
|
|
||||||
- invidious.service
|
|
||||||
- .git*
|
|
||||||
- .editorconfig
|
|
||||||
|
|
||||||
- screenshots/*
|
|
||||||
- assets/**
|
|
||||||
- locales/*
|
|
||||||
- config/**
|
|
||||||
- .github/ISSUE_TEMPLATE/*
|
|
||||||
- kubernetes/**
|
|
||||||
|
|
||||||
# Nix development files that are not used here.
|
|
||||||
- "*.nix"
|
|
||||||
- flake.flake
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
name: "build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }}"
|
|
||||||
|
|
||||||
continue-on-error: ${{ !matrix.stable }}
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
stable: [true]
|
|
||||||
crystal:
|
|
||||||
- 1.14.1
|
|
||||||
- 1.15.1
|
|
||||||
- 1.16.3
|
|
||||||
- 1.17.1
|
|
||||||
- 1.18.2
|
|
||||||
- 1.19.2
|
|
||||||
- 1.20.3
|
|
||||||
- 1.21.0
|
|
||||||
include:
|
|
||||||
- crystal: nightly
|
|
||||||
stable: false
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install required APT packages
|
|
||||||
run: |
|
|
||||||
sudo apt install -y libsqlite3-dev
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Install Crystal
|
|
||||||
uses: crystal-lang/install-crystal@v1.9.2
|
|
||||||
with:
|
|
||||||
crystal: ${{ matrix.crystal }}
|
|
||||||
|
|
||||||
- name: Cache Shards
|
|
||||||
uses: actions/cache@v6
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
./lib
|
|
||||||
./bin
|
|
||||||
key: shards-${{ hashFiles('shard.lock') }}
|
|
||||||
|
|
||||||
- name: Install Shards
|
|
||||||
run: |
|
|
||||||
if ! shards check; then
|
|
||||||
shards install --skip-postinstall --skip-executables
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: crystal spec
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: crystal build --warnings all --error-on-warnings --stats --time --progress --error-trace src/invidious.cr
|
|
||||||
|
|
||||||
build-docker:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
name: "AMD64"
|
|
||||||
# GitHub doesn't have a ubuntu-latest-arm runner
|
|
||||||
- os: ubuntu-24.04-arm
|
|
||||||
name: "ARM64"
|
|
||||||
|
|
||||||
name: Test ${{ matrix.name }} Docker build
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
|
|
||||||
- name: Build Docker
|
|
||||||
run: docker compose build
|
|
||||||
|
|
||||||
- name: Change hmac_key on docker-compose.yml
|
|
||||||
run: sed -i '/hmac_key/s/CHANGE_ME!!/docker-build-hmac-key/' docker-compose.yml
|
|
||||||
|
|
||||||
- name: Run Docker
|
|
||||||
run: docker compose up -d
|
|
||||||
|
|
||||||
- name: Test Docker
|
|
||||||
id: test
|
|
||||||
run: curl -If http://localhost:3000 --retry 5 --retry-delay 1 --retry-all-errors
|
|
||||||
|
|
||||||
- name: Print Invidious container logs
|
|
||||||
# Tells Github Actions to always run this step regardless of whether the previous step has failed
|
|
||||||
# Without this expression this step would simply be skipped when the previous step fails.
|
|
||||||
if: success() || steps.test.conclusion == 'failure'
|
|
||||||
run: docker compose logs
|
|
||||||
|
|
||||||
lint:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Install Crystal
|
|
||||||
id: lint_step_install_crystal
|
|
||||||
uses: crystal-lang/install-crystal@v1.9.2
|
|
||||||
with:
|
|
||||||
crystal: 1.20.3
|
|
||||||
|
|
||||||
- name: Cache Shards
|
|
||||||
uses: actions/cache@v6
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
./lib
|
|
||||||
./bin
|
|
||||||
key: shards-${{ hashFiles('shard.lock') }}-${{ steps.lint_step_install_crystal.outputs.crystal }}
|
|
||||||
|
|
||||||
- name: Install Shards
|
|
||||||
run: |
|
|
||||||
if ! shards check; then
|
|
||||||
shards install
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Check Crystal formatter compliance
|
|
||||||
run: |
|
|
||||||
if ! crystal tool format --check; then
|
|
||||||
crystal tool format
|
|
||||||
git diff
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run Ameba linter
|
|
||||||
run: bin/ameba
|
|
||||||
60
.github/workflows/create-release.yml
vendored
60
.github/workflows/create-release.yml
vendored
@ -1,60 +0,0 @@
|
|||||||
name: Create new release
|
|
||||||
|
|
||||||
# Manually-triggered workflow that prepares a new Invidious release by running
|
|
||||||
# scripts/create-release.py. All the logic lives in that script (which can also
|
|
||||||
# be run by hand); this workflow only provides checkout, Python and secrets.
|
|
||||||
#
|
|
||||||
# The script computes the version, collects every merged PR since the last
|
|
||||||
# release, generates the changelog prose via an OpenAI-compatible API (any
|
|
||||||
# endpoint via OPENAI_BASE_URL; OpenRouter by default), bumps shard.yml +
|
|
||||||
# CHANGELOG.md, and opens a release PR. Tagging and publishing stay manual, as
|
|
||||||
# the release documentation requires maintainer review.
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
major:
|
|
||||||
description: "Major version. Empty = keep current. Bump only for breaking changes."
|
|
||||||
required: false
|
|
||||||
default: ""
|
|
||||||
patch:
|
|
||||||
description: "Patch number (increment for a 2nd release on the same UTC day)."
|
|
||||||
required: false
|
|
||||||
default: "0"
|
|
||||||
model:
|
|
||||||
description: "Model used to write the changelog."
|
|
||||||
required: false
|
|
||||||
default: "deepseek/deepseek-v4-flash-0731"
|
|
||||||
base_url:
|
|
||||||
description: "OpenAI-compatible API base URL (default: OpenRouter)."
|
|
||||||
required: false
|
|
||||||
default: "https://openrouter.ai/api/v1"
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
prepare-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
with:
|
|
||||||
ref: master
|
|
||||||
fetch-depth: 0
|
|
||||||
fetch-tags: true
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v7
|
|
||||||
with:
|
|
||||||
python-version: "3.x"
|
|
||||||
|
|
||||||
- name: Prepare release
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
||||||
OPENAI_BASE_URL: ${{ inputs.base_url }}
|
|
||||||
run: |
|
|
||||||
python3 scripts/create-release.py \
|
|
||||||
${{ inputs.major && format('--major {0}', inputs.major) || '' }} \
|
|
||||||
--patch "${{ inputs.patch }}" \
|
|
||||||
--model "${{ inputs.model }}"
|
|
||||||
23
.github/workflows/stale.yml
vendored
23
.github/workflows/stale.yml
vendored
@ -1,23 +0,0 @@
|
|||||||
# Documentation: https://github.com/marketplace/actions/close-stale-issues
|
|
||||||
|
|
||||||
name: "Stale issue handler"
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
- cron: "0 */12 * * *"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
stale:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/stale@v11
|
|
||||||
with:
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
days-before-stale: 730
|
|
||||||
days-before-pr-stale: -1
|
|
||||||
days-before-close: 60
|
|
||||||
stale-issue-message: 'This issue has been automatically marked as stale and will be closed in 30 days because it has not had recent activity and is much likely outdated. If you think this issue is still relevant and applicable, you just have to post a comment and it will be unmarked.'
|
|
||||||
stale-issue-label: "stale"
|
|
||||||
ascending: true
|
|
||||||
# Exempt the following types of issues from being staled
|
|
||||||
exempt-issue-labels: "feature-request,enhancement,discussion,exempt-stale"
|
|
||||||
Loading…
x
Reference in New Issue
Block a user