diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 154076e..f635050 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,16 @@ on: type: boolean required: true default: true + deploy-latest-version: + description: "Deploy to Latest-Version-Repo" + type: boolean + required: true + default: true + deploy-major-version: + description: "Deploy to Major-Version-Repo" + type: boolean + required: true + default: true env: CARGO_TERM_COLOR: always @@ -209,7 +219,7 @@ jobs: deploy-aur-gui: name: "Deploy GUI to AUR" runs-on: ubuntu-latest - if: ${{ github.event.inputs.deployment-aur-gui == 'true' }} + if: ${{ github.event.inputs.deployment-aur-gui == 'true' && github.event.inputs.deploy-latest-version == 'true' }} needs: [create-github-release] steps: - name: Setup SSH for AUR @@ -239,10 +249,49 @@ jobs: git commit -m "Update to Version ${{ github.event.inputs.version }}" git push + deploy-aur-gui-major: + name: "Deploy GUI to AUR (Major-Version Repo)" + runs-on: ubuntu-latest + if: ${{ github.event.inputs.deployment-aur-gui == 'true' && github.event.inputs.deploy-major-version == 'true' }} + needs: [create-github-release] + steps: + - name: Extract major version + id: vars + run: | + VERSION="${{ github.event.inputs.version }}" + echo "major=${VERSION%%.*}" >> $GITHUB_OUTPUT + + - name: Setup SSH for AUR + run: | + mkdir -p ~/.ssh + echo "${{ secrets.AUR_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts + + - name: Clone AUR repository + run: | + git clone ssh://aur@aur.archlinux.org/tiny4linux-gui-v${{ steps.vars.outputs.major }}.git aur-repo + + - name: Download packed tarballs and metadata + uses: actions/download-artifact@v6 + with: + name: tarballs + path: aur-repo + + - name: Commit & Push to the AUR + working-directory: aur-repo + run: | + cp -a deployment/gui/aur/. . + git config user.name "OpenFoxes Maintenance Bot" + git config user.email "openfoxes@bono-fox.de" + git add PKGBUILD .SRCINFO LICENSE + git commit -m "Update V${{ steps.vars.outputs.major }}-Repo to Version ${{ github.event.inputs.version }}" + git push + deploy-aur-cli: name: "Deploy CLI to AUR" runs-on: ubuntu-latest - if: ${{ github.event.inputs.deployment-aur-cli == 'true' }} + if: ${{ github.event.inputs.deployment-aur-cli == 'true' && github.event.inputs.deploy-latest-version == 'true' }} needs: [create-github-release] steps: - name: Setup SSH for AUR @@ -272,10 +321,55 @@ jobs: git commit -m "Update to Version ${{ github.event.inputs.version }}" git push + deploy-aur-cli-major: + name: "Deploy CLI to AUR (Major-Version Repo)" + runs-on: ubuntu-latest + if: ${{ github.event.inputs.deployment-aur-cli == 'true' && github.event.inputs.deploy-major-version == 'true' }} + needs: [create-github-release] + steps: + - name: Extract major version + id: vars + run: | + VERSION="${{ github.event.inputs.version }}" + echo "major=${VERSION%%.*}" >> $GITHUB_OUTPUT + + - name: Setup SSH for AUR + run: | + mkdir -p ~/.ssh + echo "${{ secrets.AUR_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts + + - name: Clone AUR repository + run: | + git clone ssh://aur@aur.archlinux.org/tiny4linux-cli-v${{ steps.vars.outputs.major }}.git aur-repo + + - name: Download packed tarballs and metadata + uses: actions/download-artifact@v6 + with: + name: tarballs + path: aur-repo + + - name: Commit & Push to the AUR + working-directory: aur-repo + run: | + cp -a deployment/cli/aur/. . + git config user.name "OpenFoxes Maintenance Bot" + git config user.email "openfoxes@bono-fox.de" + git add PKGBUILD .SRCINFO LICENSE + git commit -m "Update V${{ steps.vars.outputs.major }}-Repo to Version ${{ github.event.inputs.version }}" + git push + cleanup: name: Cleanup runs-on: ubuntu-latest - needs: [deploy-aur-gui, deploy-aur-cli] + needs: + [ + deploy-aur-gui, + deploy-aur-cli, + deploy-aur-gui-major, + deploy-aur-cli-major, + ] steps: - name: Delete artifacts uses: geekyeggo/delete-artifact@v5 diff --git a/README.md b/README.md index a68a7ec..df4d805 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,12 @@ The CLI is available in the [Arch User Repository](https://aur.archlinux.org/pac yay -S tiny4linux-cli ``` +#### Stable Versions without Breaking Changes + +You have also the possibility to install the stable versions of the GUI and CLI without breaking changes. +Each tiny4linux-repository in the AUR is also available with the suffix of a major version, +for example `tiny4linux-gui-v2`. + ### Planned Installation Methods - [Nix User Repository](https://github.com/OpenFoxes/Tiny4Linux/issues/38)