Synchronize deb packages to Gemfury repository. Useful for debs that aren't distributed through an apt repository.
Create a YAML file in .github/workflows
directory of your repository,
e.g. .github/workflows/sync_debs_to_gemfury.yaml
with content:
name: Synchronize deb packages to Gemfury repository.
on:
schedule:
- cron: '42 * * * *'
workflow_dispatch:
permissions:
issues: write
contents: write
jobs:
sync_debs_to_gemfury:
runs-on: ubuntu-latest
steps:
- name: Synchronize deb packages to Gemfury repository.
uses: Jackenmen/sync-debs-to-gemfury@v1
env:
GEMFURY_USERNAME: YOUR_USERNAME
GEMFURY_PUSH_TOKEN: ${{ secrets.gemfury_push_token }}
Create a configuration file named config.yaml
at the root of the repository with package list:
---
packages:
discord:
type: direct_url
config:
url: https://discord.com/api/download?platform=linux&format=deb
heroic:
type: github_release
config:
repository: Heroic-Games-Launcher/HeroicGamesLauncher
asset_name_pattern: _amd64.deb$
Your Gemfury personal or organisation username.
Gemfury push token.
Configuration file is a YAML file used to configure a list of packages.
The base format looks as follows:
packages:
PACKAGE_NAME:
type: PACKAGE_DOWNLOAD_TYPE
config:
# type-specific configuration
url: https://url-to-package-file.com/used-in-direct_url-type.deb
This download type can be used when a package's latest .deb file is available at a static direct url.
Available options:
url
- URL to the .deb file.
This download type can be used for packages that are uploaded as part of a GitHub release. It gets the latest release and finds the .deb file using provided asset name pattern.
Available options:
repository
- repository owner and name in a format:owner/name
asset_name_pattern
- regex pattern for the names of assets that are relevant .deb filestag
- exact name of the tag to fetch to get the latest release; latest stable release is used when this is not specified
Distributed under the Apache License 2.0. See LICENSE
for more information.
Jakub Kuczys · GitHub @Jackenmen