2024-01-31 23:13:22 +03:00
|
|
|
name: Build
|
|
|
|
|
|
|
|
on:
|
2024-02-03 12:15:40 +03:00
|
|
|
workflow_call:
|
|
|
|
inputs:
|
|
|
|
ref:
|
|
|
|
default: ''
|
|
|
|
required: false
|
|
|
|
type: string
|
2024-01-31 23:13:22 +03:00
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- '*'
|
|
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
2024-02-03 12:15:40 +03:00
|
|
|
image: archlinux:latest
|
2024-01-31 23:13:22 +03:00
|
|
|
steps:
|
2024-03-09 12:37:35 +03:00
|
|
|
- name: Install packages
|
2024-10-30 12:26:58 +03:00
|
|
|
run: pacman -Syy -q --noconfirm && pacman -S -q --noconfirm git sudo base-devel p7zip nodejs jq asar dpkg unzip python python-requests rpm-tools glibc icu
|
2024-01-31 23:13:22 +03:00
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v4
|
2024-02-03 12:15:40 +03:00
|
|
|
with:
|
|
|
|
ref: ${{ (inputs.ref || '') }}
|
2024-01-31 23:13:22 +03:00
|
|
|
|
2024-03-09 12:37:35 +03:00
|
|
|
- name: Create dist directory
|
|
|
|
run: mkdir -p dist
|
|
|
|
|
|
|
|
- name: Fix permissions for build
|
2024-07-15 09:13:41 +03:00
|
|
|
run: mkdir /home/build && chgrp nobody /home/build && chmod g+ws /home/build && setfacl -m u::rwx,g::rwx /home/build && setfacl -d --set u::rwx,g::rwx,o::- /home/build && chown nobody . && mkdir -p arch && chown nobody arch
|
2024-03-10 10:05:11 +03:00
|
|
|
|
2024-03-09 12:37:35 +03:00
|
|
|
- name: Make Arch package
|
2024-10-30 16:58:09 +03:00
|
|
|
run: cp PKGBUILD arch && cd arch && sudo -u nobody makepkg -d --log && mv *.pkg.tar.zst ../dist/ && mv ./src/app/yandex-music.asar ../dist/ && cd .. && rm -rf arch
|
2024-03-09 12:37:35 +03:00
|
|
|
|
|
|
|
- name: Build tarball packages
|
2024-03-09 13:45:12 +03:00
|
|
|
run: bash ./build_tarball.sh -a all && cp tar/* dist/
|
2024-03-09 12:37:35 +03:00
|
|
|
|
|
|
|
- name: Build Deb packages
|
|
|
|
run: bash ./build_deb.sh -a all && mv deb/*.deb dist
|
2024-01-31 23:13:22 +03:00
|
|
|
|
2024-03-09 21:09:24 +03:00
|
|
|
- name: Build RPM packages
|
|
|
|
run: bash ./build_rpm.sh && mv rpm/*.rpm dist
|
|
|
|
|
2024-10-30 16:58:09 +03:00
|
|
|
- name: Generate Release Notes
|
|
|
|
run: python ./utility/extract_release_notes.py ./dist/release_notes.json
|
|
|
|
|
2024-03-09 12:37:35 +03:00
|
|
|
- name: Upload Arch artifacts
|
2024-02-02 13:27:57 +03:00
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
path: ./dist/*.pkg.tar.zst
|
|
|
|
name: arch-packages
|
2024-02-04 11:29:51 +03:00
|
|
|
|
2024-03-09 12:37:35 +03:00
|
|
|
- name: Upload tarball artifacts
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
path: ./dist/*.tar.gz
|
|
|
|
name: tar-packages
|
|
|
|
|
2024-02-02 13:27:57 +03:00
|
|
|
- name: Upload Deb artifact
|
2024-01-31 23:13:22 +03:00
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
2024-02-02 13:27:57 +03:00
|
|
|
path: ./dist/*.deb
|
|
|
|
name: deb-packages
|
|
|
|
|
2024-03-09 21:09:24 +03:00
|
|
|
- name: Upload RPM artifact
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
path: ./dist/*.rpm
|
|
|
|
name: rpm-packages
|
|
|
|
|
2024-02-02 19:05:07 +03:00
|
|
|
- name: Upload Asar artifacts
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
path: ./dist/*.asar
|
|
|
|
name: asar-packages
|
|
|
|
|
2024-02-09 17:35:17 +03:00
|
|
|
- name: Upload Release Notes
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
path: ./dist/release_notes.json
|
|
|
|
|
2024-02-01 00:07:07 +03:00
|
|
|
nix-build:
|
|
|
|
runs-on: ubuntu-latest
|
2024-02-01 20:28:35 +03:00
|
|
|
env:
|
|
|
|
NIXPKGS_ALLOW_UNFREE: 1
|
2024-02-01 00:07:07 +03:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v4
|
2024-02-03 12:15:40 +03:00
|
|
|
with:
|
|
|
|
ref: ${{ (inputs.ref || '') }}
|
2024-02-04 11:29:51 +03:00
|
|
|
|
2024-02-01 00:07:07 +03:00
|
|
|
- name: Install nix
|
|
|
|
uses: cachix/install-nix-action@v22
|
|
|
|
|
2024-02-04 16:08:55 +03:00
|
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
2024-02-04 13:55:06 +03:00
|
|
|
|
2024-02-14 14:07:10 +03:00
|
|
|
- name: Build yandex-music
|
|
|
|
run: nix build --impure .#yandex-music
|
|
|
|
- name: Build yandex-music without flakes binaries
|
|
|
|
run: nix build --impure .#yandex-music-noflakes
|
2024-02-04 11:29:51 +03:00
|
|
|
|