Skip to content

itachi-re/ff-dev-obs

Repository files navigation

🦊 Firefox Developer Edition – OBS Auto-Builder

Update Check OBS Package License: MIT build result

Automated version tracking & packaging for Firefox Developer Edition on openSUSE Build Service

Zero-maintenance automation that keeps your DevEdition packages always up-to-date with Mozilla's latest releases.


🎯 Overview

This repository serves as an automated version source for building Firefox Developer Edition packages on the Open Build Service (OBS). It continuously monitors Mozilla's release channels and triggers rebuilds whenever a new DevEdition version is published.

✨ Key Features

  • 🤖 Fully Automated – Checks for updates every 6 hours using GitHub Actions
  • 🔄 Instant Updates – Automatically commits new versions and triggers OBS rebuilds
  • 🎯 Single Source of Truth – Centralized version management for your OBS package
  • 🚀 Zero Maintenance – Set it up once, forget about it
  • 📦 OBS Native – Seamlessly integrates with openSUSE Build Service workflows

🔄 How It Works

graph TB
    A[GitHub Actions Scheduler] -->|Every 6 hours| B[Check Mozilla API]
    B --> C{New version available?}
    C -->|Yes| D[Update version file]
    C -->|No| E[Exit - No changes]
    D --> F[Commit & Push]
    F --> G[OBS Webhook Triggered]
    G --> H[Download new Firefox tarball]
    H --> I[Build packages for all distros]
    I --> J[🎉 Fresh DevEdition ready!]
Loading

📡 Version Detection

The system queries Mozilla's official Product Details API:

https://product-details.mozilla.org/1.0/firefox_versions.json

It extracts the FIREFOX_DEVEDITION field, which provides the current Developer Edition version (e.g., 146.0b5).


📦 Repository Structure

ff-dev-obs/
├── version                          # Current DevEdition version (updated automatically)
├── .github/workflows/
│   └── update-version.yml          # GitHub Action for version checking
├── README.md                        # This file
├── LICENSE                          # MIT License
└── .gitignore                       # Git ignore rules

📄 Key Files

File Purpose Updated By
version Stores the current Firefox DevEdition version GitHub Actions (automated)
.github/workflows/update-version.yml Defines the update automation workflow Manual edits only
README.md Documentation for users and contributors Manual edits only

🛠️ OBS Integration Guide

Setting Up Your OBS Package

To use this automated version source in your OBS package, add the following _service file:

<services>
  <!-- Fetch version from GitHub repository -->
  <service name="obs_scm">
    <param name="scm">git</param>
    <param name="url">https://github.com/itachi-re/ff-dev-obs.git</param>
    <param name="revision">main</param>
    <param name="extract">version</param>
  </service>

  <!-- Download Firefox Developer Edition source tarball -->
  <service name="download_url">
    <param name="url">https://ftp.mozilla.org/pub/devedition/releases/@@VERSION@@/source/firefox-@@VERSION@@.source.tar.xz</param>
    <param name="filename">firefox-devedition.tar.xz</param>
  </service>

  <!-- Extract source files -->
  <service name="extract_file">
    <param name="archive">firefox-devedition.tar.xz</param>
    <param name="files">*</param>
  </service>

  <!-- Automatically set package version -->
  <service name="set_version">
    <param name="basename">ff-dev-edition</param>
  </service>
</services>

🔗 Live OBS Package

The reference implementation is available at:
home:itachi_re/ff-dev-edition


🚀 Quick Start

For End Users – Installing Firefox Developer Edition

Want to use the always-updated Firefox Developer Edition on openSUSE? Follow these steps:

Option 1: One-Click Install (Recommended)

Click the button below to install Firefox Developer Edition directly:

Install Firefox Developer Edition

Option 2: Manual Repository Setup

For openSUSE Tumbleweed:

# Add the repository
sudo zypper addrepo https://download.opensuse.org/repositories/home:/itachi_re/openSUSE_Tumbleweed/home:itachi_re.repo

# Refresh repositories
sudo zypper refresh

# Install Firefox Developer Edition
sudo zypper install ff-dev-edition

Option 3: YaST GUI Method

  1. Open YaSTSoftware Repositories
  2. Click AddCommunity Repositories
  3. Or manually add:
    • URL: https://download.opensuse.org/repositories/home:/itachi_re/openSUSE_Tumbleweed/
    • Name: home:itachi_re
  4. Click OK and refresh
  5. Open YaSTSoftware Management
  6. Search for ff-dev-edition and install

Updating

Once installed, Firefox Developer Edition will update automatically with your system:

sudo zypper update

For Package Maintainers

Want to create your own automated Firefox DevEdition package?

  1. Fork this repository (optional, if you want your own version tracker)
  2. Configure your OBS package using the _service file above
  3. Enable OBS webhooks to trigger rebuilds on commit
  4. Relax – Updates happen automatically!

Manual Trigger

Need an immediate update check? You can manually trigger the workflow:

  1. Navigate to the Actions tab
  2. Select "Update Firefox DevEdition Version" workflow
  3. Click "Run workflow""Run workflow" button

The workflow will execute immediately and update the version if a new release is available.


⚙️ Configuration

Customizing Update Frequency

The default check interval is every 6 hours. To modify this, edit .github/workflows/update-version.yml:

on:
  schedule:
    - cron: '0 */6 * * *'  # Change this line
  workflow_dispatch:

Cron format guide:

  • 0 */6 * * * – Every 6 hours
  • 0 */2 * * * – Every 2 hours
  • 0 0 * * * – Daily at midnight
  • 0 0 * * 0 – Weekly on Sundays

🐛 Troubleshooting

Common Issues

Problem: OBS package not updating automatically
Solution: Ensure OBS webhooks are enabled. Go to your OBS package → AdvancedWebhooks and verify GitHub integration.

Problem: Workflow fails with API errors
Solution: Mozilla's API might be temporarily unavailable. The next scheduled run will retry automatically.

Problem: Version file exists but OBS shows old version
Solution: Manually trigger an OBS rebuild or check your _service file configuration.

Debugging

Check workflow execution logs:

  1. Go to Actions tab
  2. Click on the latest workflow run
  3. Expand "Check for new version" step

🤝 Contributing

Contributions are welcome! Here's how you can help:

  • 🐛 Report bugs – Open an issue if something isn't working
  • 💡 Suggest features – Have an idea? We'd love to hear it
  • 🔧 Submit PRs – Improvements to automation or documentation
  • 📖 Improve docs – Help make this README even better

Development Workflow

# Clone the repository
git clone https://github.com/itachi-re/ff-dev-obs.git
cd ff-dev-obs

# Make your changes
# Test locally if possible

# Commit and push
git add .
git commit -m "Your descriptive commit message"
git push origin main

📊 Status & Monitoring

Current Version

Check the latest tracked version: version file

Build Status

Monitor the OBS build status for all supported distributions at:
OBS Build Results

Workflow History

View all automation runs in the Actions tab.


📞 Support & Contact

Maintainer: itachi_re
Email: xanbenson99@gmail.com
OBS Profile: home:itachi_re

Found a bug? Open an issue
Have a question? Start a discussion


📜 License

This project is licensed under the MIT License – see the LICENSE file for details.


🙏 Acknowledgments

  • Mozilla Firefox – For making Firefox Developer Edition available
  • openSUSE Build Service – For providing excellent build infrastructure
  • GitHub Actions – For free automation hosting

🔗 Related Resources


⚡ Zero maintenance. Fully automated. Always up-to-date.

Made with 🦊 by the openSUSE community

Star this repo

About

firefox developer edition updater for opensuse tumbleweed on opensuse openbuildservice [OBS]

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •