name: Create the timetracker DEB permissions: contents: write on: push: tags: - 'v*' jobs: Create_Packages: name: Create Package runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Go uses: https://code.forgejo.org/actions/setup-go@v5 with: go-version: '1.18' - name: Tidy dependencies run: go mod tidy - name: Build run: go build -o timetracker cmd/main.go - name: Copy necessary files run: | mkdir -p PKG_SOURCE/usr/local/bin mkdir -p PKG_SOURCE/var/lib/timetracker mkdir -p PKG_SOURCE/lib/systemd/system cp -Rf ./DEBIAN PKG_SOURCE/ cp -Rf ./timetracker PKG_SOURCE/var/lib/timetracker/ cp -Rf ./scripts/* PKG_SOURCE/var/lib/timetracker/ cp -Rf ./systemd/* PKG_SOURCE/lib/systemd/system/ - name: Create Deb package run: | dpkg-deb --build PKG_SOURCE timetracker_${{github.ref_name}}.deb #- name: Upload Artifact (für CI-Artefakt) # uses: actions/upload-artifact@v3 # with: # name: timetracker_${{github.ref_name}}.deb # path: timetracker_${{github.ref_name}}.deb # retention-days: 5 # token: ${{ secrets.test }} - uses: https://data.forgejo.org/actions/checkout@v4 - name: Upload Package run: | FILE="timetracker_${{github.ref_name}}.deb" ORG="Ronny.Friedland" REPO="timetracker" VERSION=$(git rev-parse --short HEAD) curl --user ${{ secrets.USER }}:${{ secrets.TOKEN }} \ --upload-file $FILE \ "https://${{ env.FORGEJO_BASE_URL }}/api/packages/${ORG}/generic/${REPO}/${VERSION}/${FILE}"