orchard/.circleci/config.yml
cryptofyre 5ed045aad1
a (#1334)
* Update ru_RU.json

keeping russian lang actual

* ok

* Add gradient to lyric-footer

* *Commit en español Ñ (#1304)

* i hate my life (#1307)

* world is now a better place

* meltdown avoided

* meltdown avoided

* stylize new listen now childs

* full scale artwork, finally

* dynamic width for search categories

* hd all album work

* Update afterPack.js

* force hq quality

* oops

* attempt to fix

* misc cleanup

* why what

* what was i thinking

* fix duplicated text in listen now childs

* Paginate/infinite scroll for  albums, playlists (#1234)

* Infinite scroll, pagination to album, playlists

* move pagination below tracks

* Make page size configurable

* remove renderer

* Mitigate songs / album slow app issue.

* add ratings, library change to web remote (#1285)

* Add compact artist header option (#1308)

* Support compact artist header (optional)

* Add required term

* pain e19 still bugged

* improve pagination styling

* el16 fix

* up 1.5.2

* Disable Fullscreen view when artist/album name is clicked. (#1315)

* Disable Fullscreen view when artist/album name is clicked.

idk why this change didn't exist

* Seperate dash from album name

* Replace `$root.showSearch()` with `app.appRoute('search')`

`$root.showSearch()` prevents going back to previous page from sidebar.

* Fix Anim (#1316)

* make tracks tab active (#1318)

* welp that wasn't it.

* Thnks (#1319)

* Thnks

* i need sleep

* Update cider-playlist.ejs

* remove v-ripple

* attempt to fix flatpak

* Update config.yml

* minimize categories names

* fix versioning

* fix versioning v2

* version fix v3 - final

* fix categories name for other storefronts

* ident unparsed title

* center fullscreen

* fix share

* Add protocol for playpause and nextitem (#1329)

* Moved to minimize hide window instead of close

* Moved state saving to before quit

* build test

* fix ci

* sudo

* ci

* use old branch fn

* d

* revert

* Exposed songid in attributes, reimplemented lastfm primary artist scrobbling, cleaned up mkinterop

* Moved it back

* im over this

* attempt airts

* use new airtunes branch

* *eye roll*

* Moved time conversion to built-in MK function

* Moved to Electron Notifications

* Swapped to array index

* keeping this here until for now

* debuggin

* run ci

* allow noti button on macs

* No image for now

* revert space

* Latest releases -> Latest Release

* Artwork caching (sorta)

* holy balls optimization

* save sentry from this

Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com>
Co-authored-by: vapormusic <vietanhfat@gmail.com>
Co-authored-by: Monochromish <chillygamer7@gmail.com>
Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com>
Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com>
Co-authored-by: Maikiwi <stella@mai.kiwi>
Co-authored-by: yazninja <yazlesean@gmail.com>
Co-authored-by: booploops <49113086+booploops@users.noreply.github.com>
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
Co-authored-by: Pedro Galhardo <pgalhardo@icloud.com>
Co-authored-by: Monochromish <79590499+Monochromish@users.noreply.github.com>
Co-authored-by: Core <core@c0r3.uk>
2022-07-31 21:28:51 -05:00

204 lines
6.4 KiB
YAML

version: 2.1
executors:
cider-ci:
docker:
- image: cimg/node:lts-browsers
working_directory: ~/Cider
orbs: # Add orbs to your configuration
jira: circleci/jira@1.0.5 # invokes the Jira orb, making its commands accessible
# The jobs for this project
jobs:
prepare-build:
executor: cider-ci
steps:
- checkout
- run:
name: Install buildtools
command: |
sudo apt-get update
sudo apt-get install -y autoconf automake g++ libtool || true
- run:
name: Update Version Number of App
command: sudo chmod +x resources/version.sh && ./resources/version.sh || true
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-{{ checksum "cider.lock" }}
- run:
name: Install Node Dependencies
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-{{ checksum "cider.lock" }}
paths:
- ~/.cache/yarn
- run:
name: Clear Yarn Cache
command: yarn cache clean
- run:
name: TypeScript Compile
command: yarn build
- persist_to_workspace:
# Must be an absolute path, or relative path from working_directory. This is a directory on the container which is
# taken to be the root directory of the workspace.
root: .
# Must be relative path from root
paths:
- src
- node_modules
- build
- resources
- yarn.lock
- package.json
- winget.json # winget.json is a file that is generated by the winget package manager
- LICENSE
- license.txt
build-linux:
executor: cider-ci
steps:
- attach_workspace:
at: ~/Cider
- run:
name: Generate Builds (Linux)
command: yarn electron-builder -l -p never
post-steps:
- jira/notify
- persist_to_workspace:
root: .
paths:
- dist/*.deb
- dist/*.AppImage
- dist/*.snap
- dist/latest-linux.yml
build-windows:
executor: cider-ci
steps:
- attach_workspace:
at: ~/Cider
- run:
name: Install Windows System Build Dependencies
command: |
sudo apt-get update -y
sudo apt-get install -y dpkg fakeroot wine64
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine32
- run:
name: Generate Builds (Windows)
command: yarn electron-builder -w --x64 -p never
post-steps:
- jira/notify
- persist_to_workspace:
root: .
paths:
- dist/*.exe
- dist/Cider-Setup-*.exe.blockmap
- dist/latest.yml
build-winget:
executor: cider-ci
steps:
- attach_workspace:
at: ~/Cider
- run:
name: Install Windows System Build Dependencies
command: |
sudo apt-get update -y
sudo apt-get install -y dpkg fakeroot wine64
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine32
- run:
name: Generate Builds (Winget)
command: yarn electron-builder --win -c winget.json -p never
post-steps:
- jira/notify
- persist_to_workspace:
root: .
paths:
- dist/*.exe
- dist/Cider-Setup-winget-*.exe.blockmap
release:
executor: cider-ci
steps:
- attach_workspace:
at: ~/Cider/
- run:
name: Installing GitHub Command Line Interface
command: |
sudo apt-get update -y
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt-get update -y
sudo apt install -y gh
- run:
name: Move Build Files
command: |
mkdir ~/Cider/dist/artifacts/
mv ~/Cider/dist/*.exe ~/Cider/dist/artifacts
mv ~/Cider/dist/*.deb ~/Cider/dist/artifacts
mv ~/Cider/dist/*.AppImage ~/Cider/dist/artifacts
mv ~/Cider/dist/*.snap ~/Cider/dist/artifacts
mv ~/Cider/dist/*.yml ~/Cider/dist/artifacts
mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts
- store_artifacts:
path: ~/Cider/dist/artifacts
- run:
name: Update Version Number of App
command: sudo chmod +x resources/version.sh && ./resources/version.sh || true
- run:
name: Publish Release
command: |
echo "Creating release for Cider v${APP_VERSION} on the ${CIRCLE_BRANCH} branch."
gh release create "v${APP_VERSION}" --title "Cider Version ${APP_VERSION} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/cider-releases ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap
# Orchestrate our job run sequence
workflows:
build_and_release:
jobs:
- prepare-build:
filters:
branches:
only:
- main
- stable
- build-windows:
requires:
- prepare-build
filters:
branches:
only:
- main
- stable
- build-linux:
requires:
- prepare-build
filters:
branches:
only:
- main
- stable
- build-winget:
requires:
- prepare-build
filters:
branches:
only:
- main
- stable
- release:
requires:
- build-windows
- build-linux
- build-winget
filters:
branches:
only:
- main
- stable