From fd30a0c8307c6332005fd66713ad2cc0221274cc Mon Sep 17 00:00:00 2001 From: Spendable1569 Date: Mon, 24 Aug 2026 22:23:28 +0800 Subject: [PATCH] Remove existing workflows --- .github/workflows/auto-close-duplicate.yaml | 37 ---- .github/workflows/build-nightly-container.yml | 98 ---------- .github/workflows/build-stable-container.yml | 87 --------- .github/workflows/ci.yml | 167 ------------------ .github/workflows/create-release.yml | 60 ------- .github/workflows/stale.yml | 23 --- 6 files changed, 472 deletions(-) delete mode 100644 .github/workflows/auto-close-duplicate.yaml delete mode 100644 .github/workflows/build-nightly-container.yml delete mode 100644 .github/workflows/build-stable-container.yml delete mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/create-release.yml delete mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/auto-close-duplicate.yaml b/.github/workflows/auto-close-duplicate.yaml deleted file mode 100644 index 2eea099e5..000000000 --- a/.github/workflows/auto-close-duplicate.yaml +++ /dev/null @@ -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. diff --git a/.github/workflows/build-nightly-container.yml b/.github/workflows/build-nightly-container.yml deleted file mode 100644 index c7b18acae..000000000 --- a/.github/workflows/build-nightly-container.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/build-stable-container.yml b/.github/workflows/build-stable-container.yml deleted file mode 100644 index 2f3141308..000000000 --- a/.github/workflows/build-stable-container.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index af7e7266c..000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml deleted file mode 100644 index a53473784..000000000 --- a/.github/workflows/create-release.yml +++ /dev/null @@ -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 }}" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 09d9d22dd..000000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -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"