Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 97 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@
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
Expand Down Expand Up @@ -209,7 +219,7 @@
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
Expand Down Expand Up @@ -239,10 +249,49 @@
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:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
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
Expand Down Expand Up @@ -272,10 +321,55 @@
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:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
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
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down