0
0
mirror of https://github.com/cucumber-sp/yandex-music-linux.git synced 2024-12-25 06:44:38 +03:00
yandex-music-linux/.github/workflows/build.yml

104 lines
2.8 KiB
YAML
Raw Normal View History

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-06-10 09:13:51 +03:00
run: pacman -Syy -q --noconfirm && pacman -S -q --noconfirm git sudo base-devel p7zip nodejs jq asar electron29 libpulse dpkg unzip xdg-utils python rpm-tools glibc
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
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 .
2024-03-09 12:37:35 +03:00
- name: Make Arch package
run: sudo -u nobody makepkg --log && mv *.pkg.tar.zst dist/
- 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-03-09 12:37:35 +03:00
- name: Retrieve Asar and release notes
run: mv ./src/app/yandex-music.asar dist/yandex-music.asar && mv ./src/app/release_notes.json dist/release_notes.json
- name: Upload Arch artifacts
uses: actions/upload-artifact@v4
with:
path: ./dist/*.pkg.tar.zst
name: arch-packages
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
- name: Upload Deb artifact
2024-01-31 23:13:22 +03:00
uses: actions/upload-artifact@v4
with:
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-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-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