Skip to content

🔨 Last attempt... #23

🔨 Last attempt...

🔨 Last attempt... #23

# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
name: R-CMD-check (system)
on:
push:
branches: [main, devel, fix_check]
pull_request:
branches: [devel]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions: read-all
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: true
matrix:
config:
# ignore macos and windows for now
# - {os: macos-latest, r: 'release'}
# Windows
- {os: windows-latest, r: 'release'}
# Ubuntu
# - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
# - {os: ubuntu-latest, r: 'release'}
# - {os: ubuntu-latest, r: 'oldrel-1'}
# - {os: ubuntu-latest, r: 'oldrel-2'}
# - {os: ubuntu-latest, r: 'oldrel-3'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
- name: Install TA-Lib (Unix)
if: runner.os != 'windows'
run: |
curl -sSL -o ta-lib_0.6.4_amd64.deb \
https://github.com/TA-Lib/ta-lib/releases/download/v0.6.4/ta-lib_0.6.4_amd64.deb
sudo dpkg -i ta-lib_0.6.4_amd64.deb || sudo apt-get -y -f install
- name: Install TA-Lib into Rtools UCRT64 (system)
if: runner.os == 'Windows'
shell: pwsh
run: |
$rt = (Get-ChildItem 'C:\rtools*' -Directory | Sort-Object Name -Descending | Select-Object -First 1).FullName
& "$rt\usr\bin\bash.exe" -lc '
set -euxo pipefail
export PATH=/ucrt64/bin:/usr/bin:$PATH
pacman -Sy --noconfirm --needed \
mingw-w64-ucrt-x86_64-toolchain \
mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninja \
mingw-w64-ucrt-x86_64-pkgconf \
git
# Build TA-Lib with MinGW-UCRT and install under /ucrt64
git clone --depth=1 https://github.com/TA-Lib/ta-lib /tmp/ta-lib
cmake -S /tmp/ta-lib -B /tmp/ta-build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/ucrt64 \
-DBUILD_DEV_TOOLS=OFF -DBUILD_SHARED_LIBS=OFF
cmake --build /tmp/ta-build --target install -j2
# sanity
test -f /ucrt64/include/ta-lib/ta_libc.h
ls /ucrt64/lib/libta-lib*.a
pkg-config --cflags --libs ta-lib || true
'
"PATH=$rt\ucrt64\bin;$env:PATH" | Out-File $env:GITHUB_ENV -Append -Encoding utf8
"PKG_CONFIG_PATH=$rt\ucrt64\lib\pkgconfig" | Out-File $env:GITHUB_ENV -Append -Encoding utf8
"TA_INCLUDE_PATH=$rt\ucrt64\include\ta-lib" | Out-File $env:GITHUB_ENV -Append -Encoding utf8
"TA_LIBRARY_PATH=$rt\ucrt64\lib" | Out-File $env:GITHUB_ENV -Append -Encoding utf8
# - name: Set up MSVC for x86
# if: runner.os == 'Windows'
# uses: ilammy/msvc-dev-cmd@v1
# with:
# arch: amd64_x86
# - name: Install TA-Lib (Windows)
# if: runner.os == 'Windows'
# shell: cmd
# run: tools/build_talib_windows.cmd
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'