# ALR - Any Linux Repository # Copyright (C) 2025 The ALR Authors # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . name: Create Release on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' jobs: changelog: runs-on: ubuntu-latest steps: - name: Checkout this repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' - name: Get Changes between Tags id: changes uses: simbo/changes-between-tags-action@v1 - name: Set version run: | version=$(echo "${GITHUB_REF##*/}" | sed 's/^v//') echo "Version - $version" echo "VERSION=$version" >> $GITHUB_ENV - name: Prepare for install run: | apt-get update - name: Build alr env: IGNORE_ROOT_CHECK: 1 run: | make build - name: Create tar.gz run: | mkdir -p ./out/completion cp alr ./out cp scripts/completion/bash ./out/completion/alr cp scripts/completion/zsh ./out/completion/_alr ( cd out && tar -czvf ../alr-${{ env.VERSION }}-linux-x86_64.tar.gz * ) - name: Release uses: akkuman/gitea-release-action@v1 with: body: ${{ steps.changes.outputs.changes }} files: |- alr-${{ env.VERSION }}-linux-x86_64.tar.gz - name: Checkout alr-default repository uses: actions/checkout@v4 with: repository: Plemya-x/alr-default token: ${{ secrets.GITEAPUBLIC }} path: alr-default - name: Update version in alr-bin run: | # Замените значения в файле с конфигурацией sed -i "s/version='[0-9]\+\.[0-9]\+\.[0-9]\+'/version='${{ env.VERSION }}'/g" alr-default/alr-bin/alr.sh sed -i "s/release='[0-9]\+'/release='1'/g" alr-default/alr-bin/alr.sh - name: Install alr env: CREATE_SYSTEM_RESOURCES: 0 run: | make install - name: Prepare directories for ALR run: | # Создаём необходимые директории для работы alr build mkdir -p /tmp/alr/dl /tmp/alr/pkgs /var/cache/alr chmod -R 777 /tmp/alr chmod -R 755 /var/cache/alr - name: Build packages run: | SCRIPT_PATH=alr-default/alr-bin/alr.sh ALR_DISTRO=altlinux ALR_PKG_FORMAT=rpm alr build -s "$SCRIPT_PATH" ALR_PKG_FORMAT=rpm alr build -s "$SCRIPT_PATH" ALR_PKG_FORMAT=deb alr build -s "$SCRIPT_PATH" ALR_PKG_FORMAT=archlinux alr build -s "$SCRIPT_PATH" - name: Collect built packages id: collect_files run: | # Собираем все созданные пакеты в многострочном формате echo "Found package files:" ls -1 *.deb *.rpm *.pkg.tar.zst 2>/dev/null || echo "No package files found" # Сохраняем список файлов для загрузки echo "files<> $GITHUB_OUTPUT ls -1 *.deb *.rpm *.pkg.tar.zst 2>/dev/null || true echo "EOF" >> $GITHUB_OUTPUT - name: Upload assets uses: akkuman/gitea-release-action@v1 with: body: ${{ steps.changes.outputs.changes }} files: ${{ steps.collect_files.outputs.files }}