Skip to content

Commit 00f9094

Browse files
committed
Update CI workflows - switch ring source repo and remove curl dependency
Update all GitHub Actions workflows to use the new Ring Language source repository at ringpackages/ringsrc instead of ring-lang/ring. Remove curl dependencies from Alpine, FreeBSD, Ubuntu, and Windows builds since they are no longer needed. Change the default Ring version from v1.24 to master across all platforms.
1 parent d45b80a commit 00f9094

6 files changed

Lines changed: 56 additions & 52 deletions

File tree

.github/workflows/alpine_build.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,21 @@ jobs:
3030
-v ${{ github.workspace }}:/workspace \
3131
-w /workspace \
3232
alpine:latest /bin/sh -c "
33-
apk add --no-cache cmake ninja gcc g++ musl-dev linux-headers git curl-dev
34-
33+
apk add --no-cache cmake ninja gcc g++ musl-dev linux-headers git
34+
3535
# Clone Ring Language
36-
git clone --branch ${{ inputs.ring-version }} --depth 1 https://github.com/ring-lang/ring.git ring
37-
36+
git clone --branch ${{ inputs.ring-version }} --depth 1 https://github.com/ringpackages/ringsrc.git ring
37+
3838
# Build Ring Language
3939
cd ring/language
4040
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
4141
ninja install
4242
cd /workspace
43-
43+
4444
# Build ring-ftp lib
45-
rm -rf lib
46-
cmake . -DCMAKE_BUILD_TYPE=Release -DRING_ROOT=/workspace/ring -DMUSL=ON -GNinja
45+
rm -rf build lib
46+
mkdir build && cd build
47+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja -DRING_ROOT=/workspace/ring -DMUSL=ON
4748
ninja
4849
"
4950

.github/workflows/freebsd_build.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ jobs:
1313
strategy:
1414
matrix:
1515
include:
16-
- release: "14.3"
16+
- release: "15.0"
1717
arch: amd64
1818
arch_name: amd64
1919
name: freebsd-amd64
20-
- release: "14.3"
20+
- release: "15.0"
2121
arch: aarch64
2222
arch_name: arm64
2323
name: freebsd-arm64
@@ -37,26 +37,30 @@ jobs:
3737
sync: rsync
3838
mem: 4096
3939
prepare: |
40-
pkg install -y cmake git ninja pkgconf curl
40+
pkg install -y cmake git ninja pkgconf
4141
4242
run: |
4343
# Clone Ring Language
44-
git clone --branch ${{ inputs.ring-version }} --depth 1 https://github.com/ring-lang/ring.git ring
44+
git clone --branch ${{ inputs.ring-version }} --depth 1 https://github.com/ringpackages/ringsrc.git ring
4545
cd ring
4646
4747
# Set RING environment variable
4848
export RING=$(pwd)
4949
5050
# Build and Install Ring Language
5151
cd language
52-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
52+
mkdir -p build
53+
cd build
54+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
5355
ninja install
54-
cd ../..
56+
cd ../../..
5557
5658
rm -rf lib
5759
5860
# Build ring-ftp lib
59-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
61+
mkdir -p build
62+
cd build
63+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
6064
ninja
6165
6266
- name: Upload artifacts

.github/workflows/macos_build.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,16 @@ jobs:
3232
- name: Checkout Ring Language
3333
uses: actions/checkout@v4
3434
with:
35-
repository: ring-lang/ring
35+
repository: ringpackages/ringsrc
3636
path: ring
3737
ref: ${{ inputs.ring-version }}
3838

3939
- name: Build and Install Ring Language
4040
run: |
4141
cd ring/language
42-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
42+
mkdir -p build
43+
cd build
44+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
4345
ninja install
4446
4547
- name: Set RING environment variable
@@ -48,7 +50,9 @@ jobs:
4850
- name: Build ring-ftp lib
4951
run: |
5052
rm -rf lib
51-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
53+
mkdir -p build
54+
cd build
55+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
5256
ninja
5357
5458
- name: Upload artifacts

.github/workflows/main.yml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,40 @@ on:
99
- '**/CMakeLists.txt'
1010
- '.github/workflows/**'
1111
- '.gitmodules'
12-
- 'src/c_src/ftpclient'
12+
- 'src/c_src/**'
1313
pull_request:
1414
paths:
1515
- '**.c'
1616
- '**.h'
1717
- '**/CMakeLists.txt'
1818
- '.github/workflows/**'
1919
- '.gitmodules'
20-
- 'src/c_src/ftpclient'
21-
workflow_dispatch:
22-
20+
- 'src/c_src/**'
2321
jobs:
2422
alpine:
2523
uses: ./.github/workflows/alpine_build.yml
2624
with:
27-
ring-version: v1.24
25+
ring-version: master
2826

2927
freebsd:
3028
uses: ./.github/workflows/freebsd_build.yml
3129
with:
32-
ring-version: v1.24
30+
ring-version: master
3331

3432
macos:
3533
uses: ./.github/workflows/macos_build.yml
3634
with:
37-
ring-version: v1.24
35+
ring-version: master
3836

3937
ubuntu:
4038
uses: ./.github/workflows/ubuntu_build.yml
4139
with:
42-
ring-version: v1.24
40+
ring-version: master
4341

4442
windows:
4543
uses: ./.github/workflows/windows_build.yml
4644
with:
47-
ring-version: v1.24
45+
ring-version: master
4846

4947
update-libs:
5048
runs-on: ubuntu-latest
@@ -66,11 +64,17 @@ jobs:
6664
- name: Copy artifacts to lib directory
6765
run: |
6866
mkdir -p lib
67+
echo "=== Artifacts structure ==="
68+
find artifacts -type f
69+
echo "=== Copying artifacts ==="
6970
for artifact_dir in artifacts/*/; do
7071
if [ -d "$artifact_dir" ]; then
72+
echo "Copying from: $artifact_dir"
7173
cp -a "${artifact_dir}." "lib/"
7274
fi
7375
done
76+
echo "=== Final lib structure ==="
77+
find lib -type f
7478
7579
- name: Commit and push changes
7680
run: |
@@ -84,4 +88,4 @@ jobs:
8488
echo "No library changes to commit."
8589
fi
8690
env:
87-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/ubuntu_build.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Install dependencies
2323
run: |
2424
sudo apt-get update
25-
sudo apt-get install -y cmake build-essential libcurl4-openssl-dev ninja-build
25+
sudo apt-get install -y cmake build-essential ninja-build
2626
2727
- name: Checkout ring-ftp
2828
uses: actions/checkout@v4
@@ -32,14 +32,16 @@ jobs:
3232
- name: Checkout Ring Language
3333
uses: actions/checkout@v4
3434
with:
35-
repository: ring-lang/ring
35+
repository: ringpackages/ringsrc
3636
path: ring
3737
ref: ${{ inputs.ring-version }}
3838

3939
- name: Build and Install Ring Language
4040
run: |
4141
cd ring/language
42-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
42+
mkdir -p build
43+
cd build
44+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
4345
ninja install
4446
4547
- name: Set RING environment variable
@@ -48,7 +50,9 @@ jobs:
4850
- name: Build ring-ftp lib
4951
run: |
5052
rm -rf lib
51-
cmake . -DCMAKE_BUILD_TYPE=Release -GNinja
53+
mkdir -p build
54+
cd build
55+
cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja
5256
ninja
5357
5458
- name: Upload artifacts

.github/workflows/windows_build.yml

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- name: Checkout Ring Language
3131
uses: actions/checkout@v4
3232
with:
33-
repository: ring-lang/ring
33+
repository: ringpackages/ringsrc
3434
path: ring
3535
ref: ${{ inputs.ring-version }}
3636

@@ -39,35 +39,22 @@ jobs:
3939
run: |
4040
cd ring\language
4141
REM Use the matrix variable to set the architecture
42-
cmake . -A ${{ matrix.arch }}
42+
if not exist build md build
43+
cd build
44+
cmake .. -A ${{ matrix.arch }}
4345
cmake --build . --config Release --parallel
4446
cmake --install .
4547
4648
- name: Set RING environment variable
4749
run: echo "RING=$(pwd)\ring" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
4850

49-
- name: Checkout curl
50-
uses: actions/checkout@v4
51-
with:
52-
repository: curl/curl
53-
path: curl
54-
ref: curl-8_16_0
55-
56-
- name: Build curl from source
57-
shell: cmd
58-
run: |
59-
cd curl
60-
mkdir build
61-
cd build
62-
cmake -A ${{ matrix.arch }} -DCURL_USE_SCHANNEL=ON -DCURL_USE_OPENSSL=OFF -DCURL_USE_GNUTLS=OFF -DCURL_WINDOWS_SSPI=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_CURL_EXE=OFF -DBUILD_TESTING=OFF -DCURL_DISABLE_INSTALL=OFF -DCURL_USE_LIBPSL=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:/curl ..
63-
cmake --build . --config Release --parallel
64-
cmake --install .
65-
6651
- name: Configure and Build ring-ftp lib for ${{ matrix.arch_name }}
6752
shell: cmd
6853
run: |
69-
rmdir /s /q lib
70-
cmake . -A ${{ matrix.arch }} -DCMAKE_PREFIX_PATH=C:/curl
54+
if exist lib rmdir /s /q lib
55+
if not exist build md build
56+
cd build
57+
cmake .. -A ${{ matrix.arch }}
7158
cmake --build . --config Release --parallel
7259
7360
- name: Upload artifacts

0 commit comments

Comments
 (0)