diff --git a/.gitea/workflows/binaries.yaml b/.gitea/workflows/binaries.yaml index 74f77d8..9effd12 100644 --- a/.gitea/workflows/binaries.yaml +++ b/.gitea/workflows/binaries.yaml @@ -18,15 +18,7 @@ jobs: os: ["ubuntu-22.04"] version: ["3.4.2", "3.3.8", "3.2.7"] runs-on: ${{ matrix.os }} - concurrency: - group: rvm-build - cancel-in-progress: false steps: - - name: checkout pages - uses: actions/checkout@v4 - with: - ref: "binaries" - path: "binaries" - name: setup and package Ruby run: | apt-get update && \ @@ -38,12 +30,22 @@ jobs: rvm get head && \ rvm install ${{ matrix.version }} && \ ruby -v && \ - rvm prepare ${{ matrix.version }} --path + rvm prepare ${{ matrix.version }} - name: push binaries run: | - cd binaries && \ - git config user.name "${{ gitea.actor }}" && \ - git config user.email ""${{ gitea.actor }}"@noreply.git.morlana.online" && \ - git add -A && \ - git commit -m "ruby ${{ matrix.version }} build for ${{ matrix.os }} from Action ${GITHUB_SHA}" && \ - git push + set -e && apt update && apt install jq -y && \ + echo "Prüfe, ob Paket Ruby in Version ${{ matrix.version }} existiert..." && \ + package_response=$(curl -s -H "Authorization: token ${{ gitea.token }}" \ + "${{ gitea.server_url }}/api/packages/${{context.repo.owner}}/generic/${{ matrix.os }}-aarch64/versions/${{ matrix.version }}") + package_id=$(echo "$package_response" | jq -r '.id') && \ + if [ "$package_id" != "null" ] && [ -n "$package_id" ]; then + echo "Vorhandene Version gefunden (ID: $package_id), lösche sie..." + curl -s -X DELETE -H "Authorization: token ${{ gitea.token }}" \ + "${{ gitea.server_url }}/api/packages/${{context.repo.owner}}/generic/${{ matrix.os }}-aarch64/versions/${{ matrix.version }}" + else + echo "Keine vorhandene Version gefunden, fahre fort..." + fi + echo "Lade neue Version ${PACKAGE_VERSION} von ${PACKAGE_NAME} hoch..." && \ + curl -s -X POST -H "Authorization: token ${{ gitea.token }}" \ + --upload-file ./ruby-${{ matrix.version }}.tar.bz2 \ + "${{ gitea.server_url }}/api/packages/${{context.repo.owner}}/generic/${{ matrix.os }}-aarch64/${{ matrix.version }}/ruby-${{ matrix.version }}.tar.bz2"