0
0
mirror of https://github.com/cucumber-sp/yandex-music-linux.git synced 2024-12-24 14:34:39 +03:00
yandex-music-linux/.github/workflows/update-build-release.yml

114 lines
3.2 KiB
YAML
Raw Normal View History

2024-02-03 12:15:40 +03:00
name: Update, build and release
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
push:
branches:
- 'master'
jobs:
update_packages:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Packages install
run: pacman -Syy --noconfirm && pacman -S --noconfirm git jq nix python python-requests
2024-02-03 12:15:40 +03:00
- name: Checkout
uses: actions/checkout@v4
- name: Fix git access
run:
git config --global --add safe.directory "*"
- name: Update version file
run: python utility/update_version.py
2024-02-03 12:15:40 +03:00
- name: Update package files
run: python utility/generate_packages.py
- name: Retrieve version to make commit
2024-02-03 12:15:40 +03:00
run: sh .github/workflows/retrieve_version.sh
- name: Commit and push changes
uses: EndBug/add-and-commit@v9.1.4
id: commit
with:
message: "Update packages to ${{ env.release_name }}"
add: "."
author_name: "GitHub Actions"
author_email: "loraner123@gmail.com"
- name: Publish package changes to AUR
2024-03-01 07:50:44 +03:00
if: "${{ github.event.commits[0] || steps.commit.outputs.commited }}"
2024-02-05 16:18:51 +03:00
uses: KSXGitHub/github-actions-deploy-aur@v2.7.0
with:
2024-02-14 14:07:10 +03:00
pkgname: "yandex-music"
2024-02-05 16:18:51 +03:00
pkgbuild: "PKGBUILD"
updpkgsums: false
2024-02-18 19:03:14 +03:00
allow_empty_commits: true
2024-02-05 16:18:51 +03:00
commit_username: "cucumber-sp"
commit_email: "loraner123@gmail.com"
ssh_private_key: "${{ secrets.AUR_SSH_PRIVATE_KEY }}"
2024-03-01 07:50:44 +03:00
commit_message: "${{ github.event.commits[0].message || env.release_name }}"
2024-02-05 16:18:51 +03:00
ssh_keyscan_types: "rsa,dsa,ecdsa,ed25519"
2024-02-03 12:15:40 +03:00
outputs:
new_version: ${{ steps.commit.outputs.commited }}
commit_long_sha: ${{ steps.commit.outputs.commit_long_sha }}
2024-02-03 12:15:40 +03:00
build:
needs: update_packages
uses: ./.github/workflows/build.yml
with:
2024-02-09 17:35:17 +03:00
ref: ${{ (needs.update_packages.outputs.commit_long_sha || '') }}
2024-02-03 12:15:40 +03:00
upload-release:
2024-02-22 10:32:15 +03:00
needs: [build, update_packages]
2024-02-03 12:15:40 +03:00
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
2024-02-22 10:32:15 +03:00
ref: ${{ (needs.update_packages.outputs.commit_long_sha || '') }}
2024-02-03 12:15:40 +03:00
- name: Download artifact
uses: actions/download-artifact@v4
with:
merge-multiple: true
path: dist
- name: Retrieve version
run: |
sudo apt-get update
sudo apt-get install jq
sh ./.github/workflows/retrieve_version.sh
2024-02-09 17:35:17 +03:00
- name: Get Release Notes HTML
run: echo "release_html=$(jq -r --arg version "$VERSION" '.["desktop-release-notes." + $version]' ./dist/release_notes.json)" >> $GITHUB_ENV
2024-02-09 17:35:17 +03:00
- run: rm -rf dist/release_notes.json
2024-02-03 12:15:40 +03:00
- name: Tag Repo
uses: richardsimko/update-tag@v1
with:
tag_name: ${{ env.tag_name }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload files to a GitHub release
uses: ncipollo/release-action@v1.13.0
with:
allowUpdates: true
artifacts: dist/*
makeLatest: true
name: ${{ env.release_name }}
replacesArtifacts: true
tag: ${{ env.tag_name }}
2024-02-09 17:35:17 +03:00
body: ${{ env.release_html }}