commit d8a44c7dea4ca5594d466a6a447346e232769d90 Author: Tanishq Dubey Date: Thu Oct 30 18:36:55 2025 -0400 Add debian build and package diff --git a/.gitea/workflows/build-debian.yml b/.gitea/workflows/build-debian.yml new file mode 100644 index 0000000..ec67d26 --- /dev/null +++ b/.gitea/workflows/build-debian.yml @@ -0,0 +1,84 @@ +name: Build Chrony from Mirror + +on: + push: + tags: + - 'v*' + workflow_dispatch: + inputs: + tag: + description: 'The "v" tag to build (e.g., v4.7)' + required: true + type: string + +jobs: + build-and-upload-deb: + runs-on: ubuntu-24.04 + + steps: + - name: Get Build Version + run: | + if [[ "${{ gitea.event_name }}" == "push" ]]; then + TRIGGER_TAG="${{ gitea.ref_name }}" + echo "Triggered by tag push: $TRIGGER_TAG" + elif [[ "${{ gitea.event_name }}" == "workflow_dispatch" ]]; then + TRIGGER_TAG="${{ inputs.tag }}" + echo "Triggered by manual dispatch: $TRIGGER_TAG" + fi + if [ -z "$TRIGGER_TAG" ]; then + echo "Error: Could not determine tag name." + exit 1 + fi + + # The upstream chrony mirror uses "4.7", but our builder repo uses "v4.7". + # We strip the "v" to get the tag name for the mirror. + UPSTREAM_TAG=$(echo $TRIGGER_TAG | sed 's/^v//') + echo "Builder Tag: $TRIGGER_TAG" + echo "Upstream Tag: $UPSTREAM_TAG" + + echo "TRIGGER_TAG=${TRIGGER_TAG}" >> $GITEA_ENV + echo "UPSTREAM_TAG=${UPSTREAM_TAG}" >> $GITEA_ENV + + - name: Clone Chrony Source Code + run: | + git clone https://git.dws.rip/dws/chrony.git + cd chrony + echo "Checking out upstream tag: ${{ env.UPSTREAM_TAG }}" + git checkout ${{ env.UPSTREAM_TAG }} + - name: Install Build Dependencies + run: | + sudo apt-get update + cd chrony + sudo apt-get install -y dpkg-dev debhelper devscripts build-essential + sudo apt-get build-dep -y . + + - name: Import GPG Key + uses: https://github.com/crazy-max/ghaction-import-gpg@v6 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.GPG_PASSPHRASE }} + git_user_signingkey: true + git_committer_name: "DWS Packages" + git_committer_email: "packages@dws.rip" + + - name: Build the SIGNED .deb Package + run: | + cd chrony + dpkg-buildpackage --unsigned-source -b + - name: Upload to Gitea Debian Registry + run: | + # --- Set your Gitea variables --- + OWNER=dws + DEBIAN_DIST=noble + DEBIAN_COMP=main + # Find the .changes file (it's in the parent dir of chrony-mirror) + CHANGES_FILE=$(find . -maxdepth 1 -name "*.changes" | head -n 1) + if [ -z "$CHANGES_FILE" ]; then + echo "Error: No .changes file found. Build may have failed." + exit 1 + fi + echo "Uploading $CHANGES_FILE..." + curl -L --fail \ + -X POST "https://git.dws.rip/api/packages/${OWNER}/debian/upload/${DEBIAN_DIST}/${DEBIAN_COMP}" \ + -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ + -F "file=@${CHANGES_FILE}"