Skip to content

Commit 74291c4

Browse files
committed
Update GH actions and dependencies, attempt to build arm64 linux binaries
1 parent d725c81 commit 74291c4

File tree

5 files changed

+58
-19
lines changed

5 files changed

+58
-19
lines changed

.github/workflows/build-and-test.yml

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ jobs:
1010
runs-on: windows-latest
1111

1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414

1515
- name: Setup MSBuild
16-
uses: microsoft/setup-msbuild@v1.1.3
16+
uses: microsoft/setup-msbuild@v2
1717

1818
- name: Download libsodium
1919
shell: bash
2020
run: |
21-
curl -o libsodium-1.0.18-stable-msvc.zip https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-msvc.zip
22-
unzip libsodium-1.0.18-stable-msvc.zip
21+
curl -o libsodium-1.0.20-stable-msvc.zip https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable-msvc.zip
22+
unzip libsodium-1.0.20-stable-msvc.zip
2323
2424
- name: Run cmake
2525
shell: bash
@@ -52,7 +52,7 @@ jobs:
5252
mv xeddsa.dll libxeddsa-windows-amd64.dll
5353
5454
- name: Upload the binaries
55-
uses: actions/upload-artifact@v3.1.1
55+
uses: actions/upload-artifact@v4
5656
with:
5757
name: libxeddsa-windows-amd64
5858
path: |
@@ -64,7 +64,7 @@ jobs:
6464
runs-on: macos-latest
6565

6666
steps:
67-
- uses: actions/checkout@v3
67+
- uses: actions/checkout@v4
6868

6969
- name: Run cmake
7070
run: |
@@ -89,7 +89,7 @@ jobs:
8989
mv dynamic/libxeddsa.dylib libxeddsa-macos-amd64.dylib
9090
9191
- name: Upload the binaries
92-
uses: actions/upload-artifact@v3.1.1
92+
uses: actions/upload-artifact@v4
9393
with:
9494
name: libxeddsa-macos-amd64
9595
path: |
@@ -100,12 +100,12 @@ jobs:
100100
runs-on: macos-latest
101101

102102
steps:
103-
- uses: actions/checkout@v3
103+
- uses: actions/checkout@v4
104104

105105
- name: Install libsodium
106106
run: |
107107
brew uninstall --ignore-dependencies libsodium
108-
brew fetch --force --bottle-tag=arm64_ventura libsodium | tee brew_output
108+
brew fetch --force --bottle-tag=arm64_sonoma libsodium | tee brew_output
109109
downloaded_to=$(grep "Downloaded to" brew_output)
110110
downloaded_to_split=($downloaded_to)
111111
brew install ${downloaded_to_split[2]}
@@ -128,18 +128,18 @@ jobs:
128128
mv dynamic/libxeddsa.dylib libxeddsa-macos-arm64.dylib
129129
130130
- name: Upload the binaries
131-
uses: actions/upload-artifact@v3.1.1
131+
uses: actions/upload-artifact@v4
132132
with:
133133
name: libxeddsa-macos-arm64
134134
path: |
135135
bin/libxeddsa-macos-arm64.a
136136
bin/libxeddsa-macos-arm64.dylib
137137
138-
ubuntu:
138+
ubuntu-amd64:
139139
runs-on: ubuntu-latest
140140

141141
steps:
142-
- uses: actions/checkout@v3
142+
- uses: actions/checkout@v4
143143

144144
- name: Install libsodium
145145
run: sudo apt-get install -y libsodium-dev
@@ -167,9 +167,48 @@ jobs:
167167
mv dynamic/libxeddsa.so libxeddsa-linux-amd64.so
168168
169169
- name: Upload the binaries
170-
uses: actions/upload-artifact@v3.1.1
170+
uses: actions/upload-artifact@v4
171171
with:
172172
name: libxeddsa-linux-amd64
173173
path: |
174174
bin/libxeddsa-linux-amd64.a
175175
bin/libxeddsa-linux-amd64.so
176+
177+
ubuntu-arm64:
178+
runs-on: ubuntu-24.04-arm
179+
180+
steps:
181+
- uses: actions/checkout@v4
182+
183+
- name: Install libsodium
184+
run: sudo apt-get install -y libsodium-dev
185+
186+
- name: Run cmake
187+
run: |
188+
mkdir build/
189+
cd build/
190+
FORCE_URANDOM= cmake ..
191+
192+
- name: Run make
193+
run: |
194+
cd build/
195+
make
196+
197+
- name: Run ctest
198+
run: |
199+
cd build/
200+
ctest ..
201+
202+
- name: Rename the binaries
203+
run: |
204+
cd bin/
205+
mv static/libxeddsa.a libxeddsa-linux-arm64.a
206+
mv dynamic/libxeddsa.so libxeddsa-linux-arm64.so
207+
208+
- name: Upload the binaries
209+
uses: actions/upload-artifact@v4
210+
with:
211+
name: libxeddsa-linux-arm64
212+
path: |
213+
bin/libxeddsa-linux-arm64.a
214+
bin/libxeddsa-linux-arm64.so

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2022 Tim Henkes (Syndace)
1+
Copyright 2025 Tim Henkes (Syndace)
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ This library solves this issue by offering a digital signing function that accep
4242

4343
## Installation ##
4444

45-
Prebuilt binaries are available for Linux (amd64), MacOS (amd64 & arm64) and Windows (amd64) and attached to [the releases](https://github.com/Syndace/libxeddsa/releases). They can also be found in the build artifacts of the [Build & Test workflow](https://github.com/Syndace/libxeddsa/actions/workflows/build-and-test.yml). To use libxeddsa, [libsodium](https://download.libsodium.org/doc/) has to be installed on the system.
45+
Prebuilt binaries are available for Linux (amd64 & arm64), MacOS (amd64 & arm64) and Windows (amd64) and attached to [the releases](https://github.com/Syndace/libxeddsa/releases). They can also be found in the build artifacts of the [Build & Test workflow](https://github.com/Syndace/libxeddsa/actions/workflows/build-and-test.yml). To use libxeddsa, [libsodium](https://download.libsodium.org/doc/) has to be installed on the system.
4646

4747
Instructions for building from source, including compilation to WebAssembly using Emscripten, can be found in [the documentation](https://libxeddsa.readthedocs.io/).
4848

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# -- Project information -----------------------------------------------------
2525

2626
project = "libxeddsa"
27-
copyright = "2022, Tim Henkes (Syndace)"
27+
copyright = "2025, Tim Henkes (Syndace)"
2828
author = "Tim Henkes (Syndace)"
2929

3030

docs/installation.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Installation
22
============
33

4-
Prebuilt binaries are available for Linux (amd64), MacOS (amd64 & arm64) and Windows (amd64) and attached to `the releases <https://github.com/Syndace/libxeddsa/releases>`_. They can also be found in the build artifacts of the `Build & Test workflow <https://github.com/Syndace/libxeddsa/actions/workflows/build-and-test.yml>`_. To use libxeddsa, `libsodium <https://download.libsodium.org/doc/>`_ has to be installed on the system.
4+
Prebuilt binaries are available for Linux (amd64 & arm64), MacOS (amd64 & arm64) and Windows (amd64) and attached to `the releases <https://github.com/Syndace/libxeddsa/releases>`_. They can also be found in the build artifacts of the `Build & Test workflow <https://github.com/Syndace/libxeddsa/actions/workflows/build-and-test.yml>`_. To use libxeddsa, `libsodium <https://download.libsodium.org/doc/>`_ has to be installed on the system.
55

66
The library can be built with `CMake <https://cmake.org/>`_ and was tested to build successfully on Linux, MacOS and Windows.
77

@@ -62,8 +62,8 @@ libsodium supports compilation with Emscripten and comes with the scripts requir
6262

6363
$ mkdir /tmp/libxeddsa-emscripten/
6464
$ cd /tmp/libxeddsa-emscripten/
65-
$ wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz
66-
$ tar xzf libsodium-1.0.18-stable.tar.gz
65+
$ wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
66+
$ tar xzf libsodium-1.0.20-stable.tar.gz
6767
$ cd libsodium-stable/
6868
$ dist-build/emscripten.sh --standard
6969

0 commit comments

Comments
 (0)