diff options
| -rw-r--r-- | .github/dependabot.yml | 15 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 66 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | docs/index.html | 9 | ||||
| -rw-r--r-- | src/lfs.c | 2 | ||||
| -rw-r--r-- | src/lfs.def | 2 |
6 files changed, 56 insertions, 40 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..bfccd65 --- /dev/null +++ b/.github/dependabot.yml | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # Keep GitHub Actions up to date with GitHub's Dependabot... | ||
| 2 | # https://docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/auto-update-actions | ||
| 3 | # https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#package-ecosystem | ||
| 4 | version: 2 | ||
| 5 | updates: | ||
| 6 | - package-ecosystem: github-actions | ||
| 7 | directory: / | ||
| 8 | groups: | ||
| 9 | github-actions: | ||
| 10 | patterns: | ||
| 11 | - "*" # Group all Actions updates into a single larger pull request | ||
| 12 | schedule: | ||
| 13 | interval: weekly | ||
| 14 | cooldown: # https://nesbitt.io/2026/03/04/package-managers-need-to-cool-down.html | ||
| 15 | default-days: 7 | ||
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e8364e..38b6f09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml | |||
| @@ -4,75 +4,69 @@ on: | |||
| 4 | pull_request: | 4 | pull_request: |
| 5 | push: | 5 | push: |
| 6 | branches: | 6 | branches: |
| 7 | - master | 7 | - "master" |
| 8 | |||
| 9 | permissions: read-all | ||
| 8 | 10 | ||
| 9 | jobs: | 11 | jobs: |
| 10 | TestMatrix: | 12 | TestMatrix: |
| 11 | strategy: | 13 | strategy: |
| 12 | matrix: | 14 | matrix: |
| 13 | lua-version: ["5.4", "5.3", "5.2", "5.1", "luajit"] | 15 | lua-version: ["5.5", "5.4", "5.3", "5.2", "5.1", "luajit"] |
| 14 | os: ["ubuntu-latest"] | 16 | os: ["ubuntu-latest"] |
| 15 | libflag: ["-shared --coverage"] | 17 | libflag: ["-shared --coverage"] |
| 16 | include: | 18 | include: |
| 17 | - os: "macos-latest" | 19 | - os: "macos-latest" |
| 18 | lua-version: "5.4" | 20 | lua-version: "5.5" |
| 19 | libflag: "-bundle -undefined dynamic_lookup -all_load --coverage" | 21 | libflag: "-bundle -undefined dynamic_lookup -all_load --coverage" |
| 20 | - os: "windows-latest" | 22 | - os: "windows-latest" |
| 21 | toolchain: "msvc" | 23 | toolchain: "msvc" |
| 22 | lua-version: "5.4" | 24 | lua-version: "5.5" |
| 23 | - os: "windows-latest" | 25 | - os: "windows-latest" |
| 24 | lua-version: "luajit" | 26 | lua-version: "luajit" |
| 27 | libflag: "-shared --coverage" | ||
| 25 | runs-on: ${{ matrix.os }} | 28 | runs-on: ${{ matrix.os }} |
| 26 | 29 | ||
| 27 | steps: | 30 | steps: |
| 28 | - uses: actions/checkout@master | 31 | - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 |
| 32 | with: | ||
| 33 | persist-credentials: false | ||
| 29 | 34 | ||
| 30 | - name: Setup MSVC | 35 | - name: Setup MSVC |
| 31 | # 'luarocks/gh-actions-lua' step requires msvc to build PUC-Rio Lua | 36 | # 'luarocks/gh-actions-lua' step requires msvc to build PUC-Rio Lua |
| 32 | # versions on Windows (LuaJIT will be built using MinGW/gcc). | 37 | # versions on Windows (LuaJIT will be built using MinGW/gcc). |
| 33 | if: ${{ matrix.toolchain == 'msvc' }} | 38 | if: runner.os == 'Windows' && matrix.toolchain == 'msvc' |
| 34 | uses: ilammy/msvc-dev-cmd@v1 | 39 | uses: step-security/msvc-dev-cmd@22c98154b708dbd743e6f27a933cf6ceba3305c4 # v1.13.1 |
| 35 | 40 | ||
| 36 | - uses: luarocks/gh-actions-lua@master | 41 | - uses: luarocks/gh-actions-lua@56eba09993704b908cc3c7c2753e630d18cb9696 # v14 |
| 37 | with: | 42 | with: |
| 38 | luaVersion: ${{ matrix.lua-version }} | 43 | luaVersion: ${{ matrix.lua-version }} |
| 39 | 44 | ||
| 40 | - uses: luarocks/gh-actions-luarocks@master | 45 | - uses: luarocks/gh-actions-luarocks@95d2308a0aff36ad31ebadca493ed14853399842 # v7 |
| 41 | |||
| 42 | - name: Prep luacov | ||
| 43 | run: | | ||
| 44 | luarocks install luacov | ||
| 45 | |||
| 46 | - name: Prep luacov-coveralls | ||
| 47 | # TODO Windows coverage | ||
| 48 | if: ${{ matrix.os != 'windows-latest' }} | ||
| 49 | run: | | ||
| 50 | pip install --user cpp-coveralls | ||
| 51 | # install luacov-coveralls, but avoid installing luafilesystem | ||
| 52 | luarocks install lua-path | ||
| 53 | luarocks install dkjson | ||
| 54 | luarocks install luacov-coveralls --server=https://luarocks.org/dev --deps-mode=none | ||
| 55 | 46 | ||
| 56 | - name: Unix Build | 47 | - name: GCC Build |
| 57 | if: ${{ matrix.os != 'windows-latest' }} | 48 | if: runner.os != 'Windows' || matrix.toolchain != 'msvc' |
| 58 | run: | | 49 | run: | |
| 59 | luarocks make CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="${{ matrix.libflag }}" | 50 | luarocks make CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="${{ matrix.libflag }}" |
| 60 | 51 | ||
| 61 | - name: Windows Build | 52 | - name: MSVC Build |
| 62 | # TODO Windows coverage | 53 | # TODO Windows coverage on MSVC |
| 63 | if: ${{ matrix.os == 'windows-latest' }} | 54 | if: runner.os == 'Windows' && matrix.toolchain == 'msvc' |
| 64 | run: | | 55 | run: | |
| 65 | luarocks make | 56 | luarocks make |
| 66 | 57 | ||
| 67 | - name: Test | 58 | - name: Test |
| 68 | run: | | 59 | run: | |
| 69 | lua -lluacov tests/test.lua | 60 | lua tests/test.lua |
| 70 | 61 | ||
| 71 | - name: Coverage | 62 | - name: Run gcov in the main source file |
| 72 | # TODO Windows coverage | 63 | if: runner.os != 'Windows' || matrix.toolchain != 'msvc' |
| 73 | if: ${{ matrix.os != 'windows-latest' }} | ||
| 74 | run: | | 64 | run: | |
| 75 | export MY_PYTHON_VER=$(python -c 'import sys; print(".".join(sys.version.split(".")[0:2]))') | 65 | gcov --relative-only src/lfs.c |
| 76 | export PATH="/Users/runner/Library/Python/$MY_PYTHON_VER/bin:$PATH" | 66 | |
| 77 | coveralls -b . -i src --dump c.report.json | 67 | - name: Upload Coverage |
| 78 | luacov-coveralls -j c.report.json -v -t ${{ secrets.GITHUB_TOKEN }} | 68 | # TODO Windows coverage on MSVC |
| 69 | if: runner.os != 'Windows' || matrix.toolchain != 'msvc' | ||
| 70 | uses: coverallsapp/github-action@8d6379e14d29928660c4ba802d8e85393440b329 # v2.3.8 | ||
| 71 | with: | ||
| 72 | github-token: ${{ secrets.GITHUB_TOKEN }} | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | [](LICENSE) | 1 | [](LICENSE) |
| 2 | [](https://github.com/lunarmodules/luafilesystem/actions) | 2 | [](https://github.com/lunarmodules/luafilesystem/actions) |
| 3 | [](https://ci.appveyor.com/project/ignacio/luafilesystem) | 3 | [](https://ci.appveyor.com/project/ignacio/luafilesystem) |
| 4 | [](https://coveralls.io/r/lunarmodules/luafilesystem) | 4 | [](https://coveralls.io/github/lunarmodules/luafilesystem?branch=master) |
| 5 | 5 | ||
| 6 | # LuaFileSystem - File System Library for Lua | 6 | # LuaFileSystem - File System Library for Lua |
| 7 | 7 | ||
diff --git a/docs/index.html b/docs/index.html index 34e0730..bfc2450 100644 --- a/docs/index.html +++ b/docs/index.html | |||
| @@ -70,7 +70,7 @@ the underlying directory structure and file attributes.</p> | |||
| 70 | 70 | ||
| 71 | <h2><a name="status"></a>Status</h2> | 71 | <h2><a name="status"></a>Status</h2> |
| 72 | 72 | ||
| 73 | <p>Current version is 1.8.0. It works with Lua 5.1, 5.2, 5.3 and 5.4, and it runs on various | 73 | <p>Current version is 1.9.0. It works with Lua 5.1 to Lua 5.5, and it runs on various |
| 74 | flavors of Unix (including Linux, BSDs, macOS) and Windows.</p> | 74 | flavors of Unix (including Linux, BSDs, macOS) and Windows.</p> |
| 75 | 75 | ||
| 76 | <h2><a name="download"></a>Download</h2> | 76 | <h2><a name="download"></a>Download</h2> |
| @@ -86,6 +86,13 @@ $ luarocks install luafilesystem | |||
| 86 | <h2><a name="history"></a>History</h2> | 86 | <h2><a name="history"></a>History</h2> |
| 87 | 87 | ||
| 88 | <dl class="history"> | 88 | <dl class="history"> |
| 89 | <dt><strong>Version 1.9.0</strong> [28/Dec/2025]</dt> | ||
| 90 | <dd><ul> | ||
| 91 | <li>Lua 5.5 support</li> | ||
| 92 | <li>Fixed some compiler warnings</li> | ||
| 93 | <li>Assorted improvements for Windows</li> | ||
| 94 | </ul></dd> | ||
| 95 | |||
| 89 | <dt><strong>Version 1.8.0</strong> [22/Apr/2020]</dt> | 96 | <dt><strong>Version 1.8.0</strong> [22/Apr/2020]</dt> |
| 90 | <dd><ul> | 97 | <dd><ul> |
| 91 | <li>Lua 5.4 support</li> | 98 | <li>Lua 5.4 support</li> |
| @@ -74,7 +74,7 @@ | |||
| 74 | 74 | ||
| 75 | #include "lfs.h" | 75 | #include "lfs.h" |
| 76 | 76 | ||
| 77 | #define LFS_VERSION "1.8.0" | 77 | #define LFS_VERSION "1.9.0" |
| 78 | #define LFS_LIBNAME "lfs" | 78 | #define LFS_LIBNAME "lfs" |
| 79 | 79 | ||
| 80 | #if LUA_VERSION_NUM >= 503 /* Lua 5.3+ */ | 80 | #if LUA_VERSION_NUM >= 503 /* Lua 5.3+ */ |
diff --git a/src/lfs.def b/src/lfs.def index bd8c847..589b87d 100644 --- a/src/lfs.def +++ b/src/lfs.def | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | LIBRARY lfs.dll | 1 | LIBRARY lfs.dll |
| 2 | VERSION 1.8 | 2 | VERSION 1.9 |
| 3 | EXPORTS | 3 | EXPORTS |
| 4 | luaopen_lfs | 4 | luaopen_lfs |
