Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion .github/workflows/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,16 @@ jobs:
- name: run unit tests
run: npm run test
- name: build
run: npm run electron:linux
run: |
for i in 1 2 3; do
npm run electron:linux && break
if [ "$i" -eq 3 ]; then
echo "Linux build failed after 3 attempts"
exit 1
fi
echo "Linux build failed (attempt $i), retrying in 30s..."
sleep 30
done
- name: fetch current version
id: ver_name
uses: notiz-dev/github-action-json-property@release
Expand All @@ -50,6 +59,34 @@ jobs:
with:
name: dopamine-merge-snap
path: release/Dopamine-*.snap

merge_build_pacman_on_arch:
runs-on: ubuntu-22.04
if: github.event.pull_request.merged == true
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v2
- name: install Arch dependencies
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm nodejs npm git python base-devel libarchive libxcrypt-compat
- name: install dependencies
run: npm install
- name: run unit tests
run: npm run test
- name: build pacman package
run: |
npm run build:prod
for i in 1 2 3; do
npx electron-builder build --linux pacman --config electron-builder.config.js && break
if [ "$i" -eq 3 ]; then
echo "Pacman build failed after 3 attempts"
exit 1
fi
echo "Pacman build failed (attempt $i), retrying in 30s..."
sleep 30
done
- name: upload pacman artifact
uses: actions/upload-artifact@v4
with:
Expand Down
38 changes: 37 additions & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,16 @@ jobs:
- name: run unit tests
run: npm run test
- name: build
run: npm run electron:linux
run: |
for i in 1 2 3; do
npm run electron:linux && break
if [ "$i" -eq 3 ]; then
echo "Linux build failed after 3 attempts"
exit 1
fi
echo "Linux build failed (attempt $i), retrying in 30s..."
sleep 30
done
- name: fetch current version
id: ver_name
uses: notiz-dev/github-action-json-property@release
Expand All @@ -50,6 +59,33 @@ jobs:
with:
name: dopamine-nightly-snap
path: release/Dopamine-*.snap

nightly_build_pacman_on_arch:
runs-on: ubuntu-22.04
container:
image: archlinux:latest
steps:
- uses: actions/checkout@v2
- name: install Arch dependencies
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm nodejs npm git python base-devel libarchive libxcrypt-compat
- name: install dependencies
run: npm install
- name: run unit tests
run: npm run test
- name: build pacman package
run: |
npm run build:prod
for i in 1 2 3; do
npx electron-builder build --linux pacman --config electron-builder.config.js && break
if [ "$i" -eq 3 ]; then
echo "Pacman build failed after 3 attempts"
exit 1
fi
echo "Pacman build failed (attempt $i), retrying in 30s..."
sleep 30
done
- name: upload pacman artifact
uses: actions/upload-artifact@v4
with:
Expand Down
5 changes: 5 additions & 0 deletions electron-builder.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@ const config = {
description:
'Dopamine is an elegant audio player which tries to make organizing and listening to music as simple and pretty as possible.',
},
pacman: {
// Use Arch package names explicitly so Ubuntu-built artifacts
// do not leak distro-specific auto-detected dependencies.
depends: ['gtk3', 'libnotify', 'nss', 'libxss', 'libxtst', 'xdg-utils', 'at-spi2-core'],
},
};

module.exports = config;
2 changes: 2 additions & 0 deletions tsconfig.app.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@
"baseUrl": "",
"types": []
},
"files": ["src/main.ts", "src/polyfills.ts"],
"include": ["src/**/*.d.ts"],
"exclude": ["**/*.spec.ts"]
}
Loading