Test for @danny900714/upload-anki-addon

AnkiWeb addon 1808997802

Uploads and updates AnkiWeb add-ons via GitHub Actions, supporting multiple version branches, description files, tags, support pages, and returning the add-on ID.
AI-generated summary; may contain mistakes.

no-description

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
0 (πŸ‘ 0 Β· πŸ‘Ž 0)
Updated
2026-07-06
Anki versions
25.09.4~
Description language
en

Maintenance

active

  • Last update or commit was 87 days before the snapshot (2026-07-06).
  • The repository has 2 test files.
  • The repository has 5 GitHub Actions workflows.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
2.1.125.09.4+2026-07-06
History across monthly snapshots

Loading…

Similar addons

ReColor

Customizes Anki desktop colors through a dialog with preset themes and advanced HTML color input, optionally paired with a background/icon add-on.

appearance

Rating 62 πŸ‘ 58 Β· πŸ‘Ž 4 ⭐ 66 Anki 25.07.5~ Updated 2025-08-11
Addon Config Sync

Syncs add-on meta.json configs across devices via Anki's media folder and AnkiWeb, with manager UI for statuses, actions, filters, and sync modes.

sync-integrationbackup-maintenance

Rating 4 πŸ‘ 4 Β· πŸ‘Ž 0 ⭐ 3 Anki 25.09.2~ Updated 2026-03-10
Progress Bar

Displays a customizable progress bar during review sessions, tracking passed cards and resetting unless completed.

progress-trackingfork-or-reupload

Rating 201 πŸ‘ 130 Β· πŸ‘Ž 71 ⭐ 183 Anki <=2.1.26 Updated 2017-08-29

README

Upload Anki Add-on

CI

A GitHub Action for uploading an Anki add-on to AnkiWeb.

Features

  • Multiple branches: Upload different add-on files targeting different Anki version ranges.
  • Description file: Use a separate file for the add-on description, making it easier to edit and format.

Usage

Upload a new add-on to AnkiWeb

If addon-id is not provided, a new add-on will be created on AnkiWeb.

Specify the Anki versions your add-on supports using the branches parameter. Use the + symbol for the max version to indicate that your add-on supports all future versions as well.

name: Release

on:
  release:
    types: [published]

permissions:
  contents: read

jobs:
  upload-addon:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Package add-on
        run: cd src/my-addon && zip -r ../../my-addon.ankiaddon *
      - name: Upload add-on to AnkiWeb
        uses: danny900714/upload-anki-addon@v1
        with:
          username: ${{ vars.ANKIWEB_USERNAME }}
          password: ${{ secrets.ANKIWEB_PASSWORD }}
          title: My Anki add-on
          description: Description for my Anki add-on
          branches: 2.1.1-25.09.4+
          addon-files: my-addon.ankiaddon

Using a description file

You can use a separate file for the add-on description, which makes it easier to edit and format. Note that description takes precedence over description-file if both are provided.

name: Release

on:
  release:
    types: [published]

permissions:
  contents: read

jobs:
  upload-addon:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Package add-on
        run: cd src/my-addon && zip -r ../../my-addon.ankiaddon *
      - name: Upload add-on to AnkiWeb
        uses: danny900714/upload-anki-addon@v1
        with:
          username: ${{ vars.ANKIWEB_USERNAME }}
          password: ${{ secrets.ANKIWEB_PASSWORD }}
          addon-id: 12345678
          title: My Anki add-on
          description-file: README.md
          branches: 2.1.1-25.09.4+
          addon-files: my-addon.ankiaddon

Multiple branches

You can target multiple Anki version ranges by specifying multiple branches, one per line. The number of addon-files must match the number of branches.

name: Release

on:
  release:
    types: [published]

permissions:
  contents: read

jobs:
  upload-addon:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Package add-on for first branch
        run: cd src/first-branch && zip -r ../../first-branch.ankiaddon *
      - name: Package add-on for second branch
        run: cd src/second-branch && zip -r ../../second-branch.ankiaddon *
      - name: Upload add-on to AnkiWeb
        uses: danny900714/upload-anki-addon@v1
        with:
          username: ${{ vars.ANKIWEB_USERNAME }}
          password: ${{ secrets.ANKIWEB_PASSWORD }}
          addon-id: 12345678
          title: My Anki add-on
          description: Description for my Anki add-on
          branches: |
            2.1.1-2.1.66
            23.10-25.09.4+
          addon-files: |
            first-branch.ankiaddon
            second-branch.ankiaddon

Customizing

Inputs

The following inputs can be used as step.with keys:

List type is a newline-delimited string

branches: |
  2.1.1-2.1.66
  23.10-25.09.4+
Name Type Required Description
username String true AnkiWeb username.
password String true AnkiWeb password.
addon-id String false The download code for the add-on. Omit this when uploading a new add-on.
title String true The title of the add-on. Must be fewer than 80 characters.
tags String false Space-separated tags for this add-on.
support-page String false A bug tracker, forum link, or other page where users can reach you. Must start with http.
branches List true A list of Anki version branches that your add-on supports. Each branch must be in the format min-max, where min and max are Anki versions. Use + for the max version to indicate support for all future versions.
addon-files List true A list of add-on files to upload, in the same order as branches. Use - to skip updating the add-on file for a branch.
description String false The description of the add-on. Markdown and basic HTML are supported.
description-file String false Path to a file containing the add-on description. Markdown and basic HTML are supported. Ignored if description is also provided.

[!NOTE]

  • description takes precedence over description-file if both are provided.
  • The number of addon-files must match the number of branches.

Outputs

The following outputs can be accessed via ${{ steps.<step-id>.outputs }}:

Name Type Description
addon-id String The id for the uploaded Anki add-on.