Skip to content

Commit 6a61e2b

Browse files
committed
pi
1 parent 3e48d63 commit 6a61e2b

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

.github/workflows/c-cpp.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,50 @@ jobs:
3434
name: cyclone-linux
3535
path: ./pd-cyclone/cyclone/*
3636

37+
Linux-ARM64-Build:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v3
41+
42+
- name: Set up QEMU
43+
uses: docker/setup-qemu-action@v3
44+
45+
- name: Set up Docker Buildx
46+
uses: docker/setup-buildx-action@v3
47+
48+
- name: Create Dockerfile
49+
run: |
50+
cat > Dockerfile << 'EOF'
51+
FROM arm64v8/debian:bullseye
52+
RUN apt-get update && apt-get install -y \
53+
build-essential \
54+
puredata \
55+
curl \
56+
unzip \
57+
make
58+
WORKDIR /build
59+
COPY . .
60+
RUN PD_URL=$(curl -L -s https://api.github.com/repos/pure-data/pure-data/tags | grep zipball_url | grep -v latest | grep -v pd-0.55 | grep -v tagtest | head -n 1 | cut -d '"' -f 4) && \
61+
curl -L -o pure-data.zip $PD_URL && \
62+
unzip pure-data.zip && \
63+
rm pure-data.zip && \
64+
mv pure-data-* pure-data
65+
RUN make install PDINCLUDEDIR=./pure-data/src PDLIBDIR=./pd-cyclone extension=l_arm64
66+
EOF
67+
68+
- name: Build and Extract
69+
run: |
70+
docker buildx build --platform linux/arm64 -t pd-cyclone-arm64 . --load
71+
container_id=$(docker create pd-cyclone-arm64)
72+
docker cp $container_id:/build/pd-cyclone/cyclone ./pd-cyclone-arm64
73+
docker rm $container_id
74+
75+
- name: Upload ARM64 Artifact
76+
uses: actions/upload-artifact@v4
77+
with:
78+
name: cyclone-linux-arm64
79+
path: ./pd-cyclone-arm64/*
80+
3781
Windows-Build:
3882
runs-on: windows-latest
3983
timeout-minutes: 25

0 commit comments

Comments
 (0)