diff --git a/.forgejo/workflows/build-deb.yml b/.forgejo/workflows/build-deb.yml index 7e5e4ca..db202db 100644 --- a/.forgejo/workflows/build-deb.yml +++ b/.forgejo/workflows/build-deb.yml @@ -9,6 +9,7 @@ on: jobs: build-deb: + name: Build Debian Package runs-on: ubuntu-latest steps: @@ -18,25 +19,25 @@ jobs: cp -r /tmp/deb-mock/* . cp -r /tmp/deb-mock/.* . 2>/dev/null || true - - name: Set up Python - run: | - sudo apt update - sudo apt install -y python3.12 python3.12-venv python3-pip - - - name: Install build dependencies - run: | - # Configure APT to use your cache server - echo 'Acquire::http::Proxy "http://192.168.1.79:3142";' | sudo tee /etc/apt/apt.conf.d/99proxy - echo 'Acquire::https::Proxy "http://192.168.1.79:3142";' | sudo tee -a /etc/apt/apt.conf.d/99proxy - - sudo apt update - sudo apt install -y build-essential devscripts debhelper dh-python python3-all python3-setuptools - sudo apt install -y sbuild schroot debootstrap - - - name: Create deb-mock directories + - name: Set up Python run: | - sudo mkdir -p /var/lib/deb-mock/chroots /var/cache/deb-mock - sudo chown -R $USER:$USER /var/lib/deb-mock /var/cache/deb-mock + sudo apt update + sudo apt install -y python3.12 python3.12-venv python3-pip + + - name: Install build dependencies + run: | + # Configure APT to use your cache server + echo 'Acquire::http::Proxy "http://192.168.1.79:3142";' | sudo tee /etc/apt/apt.conf.d/99proxy + echo 'Acquire::https::Proxy "http://192.168.1.79:3142";' | sudo tee -a /etc/apt/apt.conf.d/99proxy + + sudo apt update + sudo apt install -y build-essential devscripts debhelper dh-python python3-all python3-setuptools + sudo apt install -y sbuild schroot debootstrap + + - name: Create mock directories + run: | + sudo mkdir -p /var/lib/mock/chroots /var/cache/mock + sudo chown -R $USER:$USER /var/lib/mock /var/cache/mock - name: Set up virtual environment run: | @@ -50,7 +51,7 @@ jobs: pip install -r requirements.txt pip install -r requirements-dev.txt - - name: Install deb-mock in development mode + - name: Install mock in development mode run: | source venv/bin/activate pip install -e . @@ -72,10 +73,10 @@ jobs: # Build the package dpkg-buildpackage -us -uc -b - # List built packages (handle missing .dsc file) - echo "Built packages:" - ls -la ../mock_*.deb ../mock_*.changes 2>/dev/null || true - ls -la ../mock_*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" + # List built packages (handle missing .dsc file) + echo "Built packages:" + ls -la ../mock_*.deb ../mock_*.changes 2>/dev/null || true + ls -la ../mock_*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)" - name: Upload build artifacts run: | @@ -167,58 +168,4 @@ jobs: echo "🎯 Next steps:" echo " - Verify package appears in repository packages page" echo " - Test package installation on Debian/Ubuntu systems" - echo " - Users can install with: sudo apt install mock" - - - name: Setup Debian repository - if: startsWith(github.ref, 'refs/tags/') - run: | - # Install reprepro for repository management - sudo apt install -y reprepro gnupg - - # Create repository structure - mkdir -p debian-repo/conf - mkdir -p debian-repo/dists - mkdir -p debian-repo/pool - - # Create repository configuration - cat > debian-repo/conf/distributions << EOF - Origin: Deb-Mock Repository - Label: Deb-Mock - Codename: unstable - Architectures: amd64 arm64 i386 all source - Components: main - Description: Deb-Mock Debian Package Repository - SignWith: default - EOF - - # Create options file - cat > debian-repo/conf/options << EOF - verbose - basedir . - EOF - - - name: Add package to repository - if: startsWith(github.ref, 'refs/tags/') - run: | - # Add the package to the repository - reprepro -b debian-repo includedeb unstable ../mock_*.deb - - # List repository contents - reprepro -b debian-repo list unstable - - - name: Create repository archive - if: startsWith(github.ref, 'refs/tags/') - run: | - # Create a tarball of the repository - tar -czf deb-mock-repo.tar.gz debian-repo/ - - echo "Repository archive created:" - ls -la deb-mock-repo.tar.gz - - - name: Upload repository artifacts - if: startsWith(github.ref, 'refs/tags/') - run: | - echo "Repository artifacts:" - ls -la deb-mock-repo.tar.gz - echo "Repository structure:" - find debian-repo/ -type f | head -20 \ No newline at end of file + echo " - Users can install with: sudo apt install mock" \ No newline at end of file