Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerless arm64 release Fixes: #190 #232

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
f5bf788
builiding for aarch64
Nov 19, 2024
50d0507
fix
Nov 19, 2024
0d37ba5
a
Nov 19, 2024
948505a
a
Nov 19, 2024
901c2c9
a
Nov 19, 2024
7a97a29
a
Nov 19, 2024
2bd817d
a
Nov 19, 2024
5a5b8d7
a
Nov 19, 2024
d7777b5
a
Nov 19, 2024
729fd03
a
Nov 19, 2024
595c284
a
Nov 19, 2024
54fe3d8
a
Nov 19, 2024
ac0ebb0
a
Nov 19, 2024
2105e08
a
Nov 19, 2024
2c6fe12
a
Nov 19, 2024
95ae58a
s
Nov 19, 2024
dd54f66
s
Nov 19, 2024
09b5a9f
s
Nov 20, 2024
0ffbce0
s
Nov 20, 2024
092ffe2
a
Nov 20, 2024
ca6cd7a
s
Nov 20, 2024
5d1db48
s
Nov 20, 2024
d1dfbc7
s
Nov 20, 2024
5848d56
s
Nov 20, 2024
b83e05f
a
Nov 20, 2024
f8d4d45
s
Nov 20, 2024
a6eb30a
a
Nov 20, 2024
0a552e3
a
Nov 20, 2024
6a5c354
a
Nov 20, 2024
02d6c66
a
Nov 20, 2024
42cab36
a
Nov 20, 2024
001ccd2
s
Nov 20, 2024
cb1bff4
s
Nov 20, 2024
6d2dbf7
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
bccbf55
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
6105b26
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
ccfb2fc
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
a6b690e
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
c394774
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
aec84e0
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
a913045
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
3e7dba2
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
4d1fa5d
Aktualisieren von aarch64_buildscript
jensgrunzer1 Nov 20, 2024
7355421
a
Nov 20, 2024
8637c95
s
Nov 20, 2024
3038a29
a
Nov 20, 2024
3e7a3e3
s
Nov 20, 2024
71b4799
a
Nov 20, 2024
ac0d603
s
Nov 20, 2024
6cb8e29
s
Nov 20, 2024
a5762ee
a
Nov 20, 2024
bcc5adc
a
Nov 20, 2024
8f29ffd
Update aarch64_buildscript
jensgrunzer1 Nov 21, 2024
24f1244
Update aarch64_buildscript
jensgrunzer1 Nov 21, 2024
fab5352
Update aarch64_buildscript
jensgrunzer1 Nov 21, 2024
e439178
Removed unecessary pacman -Su
Nov 21, 2024
284822b
removed unecessary pacman -Su
Nov 21, 2024
75ae9cb
Update aarch64.yml
jensgrunzer1 Nov 22, 2024
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
50 changes: 50 additions & 0 deletions .github/workflows/aarch64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: New aarch64 Release
run-name: Release v${{ github.event.inputs.tag }}
on:
workflow_dispatch:
jobs:
build:
runs-on: [ubuntu-20.04]
name: Building aarch64 binary
steps:
- name: Installing Packages
run: |
sudo apt update -y
sudo apt -y install binfmt-support qemu-user-static systemd-container wget
- name: Starting Services
run: |
sudo systemctl restart systemd-binfmt
sudo systemctl start systemd-resolved
- name: Downloading Arch Linux Arm Tarball for rpi4 aarch64
run: |
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
- name: Extracting Tarball
run: |
mkdir root
sudo tar xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C root --warning=no-unknown-keyword
- name: Building Swingmusic in qemu
run: |
wget https://raw.githubusercontent.com/jensgrunzer1/swingmusic/refs/heads/master/aarch64_buildscript
chmod +x aarch64_buildscript
mv aarch64_buildscript root/
sudo systemd-nspawn --bind-ro=/etc/resolv.conf -D root ./aarch64_buildscript
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.run_number }}
release_name: Release ${{ github.run_number }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./root/swingmusicbuilder/swingmusic/dist/swingmusic
asset_name: swingmusic
asset_content_type: application/octet-stream
45 changes: 45 additions & 0 deletions aarch64_buildscript
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/sh

# README
# Builds swingmusic binary for aarch64 aka ARM64 architecture
# Run
# ./buildswingmusic.sh
# chmod a+x swingmusicbuilder/swingmusic/dist/swingmusic
# .swingmusicbuilder/swingmusic/dist/swingmusic --port <optional_port_param> --host <optional_host_param>
# Notes
# Poetry installer and pipx install poetry are both broken on ARM64 Raspberry Pi OS
# Moving or renaming venv directory (comment inline below) will break that venv.
# Additional poetry bug ongoing https://github.com/python-poetry/poetry/issues/5250 (comment inline below)
# Changed to bash shebang above from repo build script setting of zsh
pacman-key --init
pacman-key --populate archlinuxarm
pacman -Sy --noconfirm
pacman -S yarn git wget glibc gcc bzip2 expat gdbm libffi libnsl libxcrypt openssl zlib libnghttp2 icu --noconfirm --disable-download-timeout --needed
wget https://github.com/jensgrunzer1/pyhon311-for-aarch64/raw/refs/heads/main/python311-3.11.9-2-aarch64.pkg.tar.xz
pacman -U python311-3.11.9-2-aarch64.pkg.tar.xz --noconfirm
mkdir swingmusicbuilder
cd swingmusicbuilder

git clone https://github.com/swing-opensource/swingmusic-client.git
git clone https://github.com/swing-opensource/swingmusic.git
# Manual poetry installation as installers are broken.
python3.11 -m venv poetry
source poetry/bin/activate

cd swingmusic

pip install -U pip setuptools
pip install poetry

cd ../swingmusic-client
yarn install
yarn build --outDir ../swingmusic/client

cd ../swingmusic
# Fixes poetry issue 5250.
export PYTHON_KEYRING_BACKEND=keyring.backends.fail.Keyring
poetry env use /usr/bin/python3.11
poetry install
# Swing gives error if this is not set. Set to version of repo you cloned.
export SWINGMUSIC_APP_VERSION="1.4.8"
poetry run python manage.py --build