diff options
author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2024-03-19 11:05:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-19 11:05:51 +0100 |
commit | 7ef8c463484ea8ed0f4277fb75c2beecd22adbe5 (patch) | |
tree | ce6ffe3714926e2c45a19fe06b956a80bcda2f0c | |
parent | 7cef1cf1a74c8e10d9cc61b6f5b748f4f7a26abd (diff) | |
download | luasystem-7ef8c463484ea8ed0f4277fb75c2beecd22adbe5.zip |
chore(ci): macos-latest + windows-latest (#17)
Co-authored-by: Hisham Muhammad <hisham@gobolinux.org>
-rw-r--r-- | .github/workflows/build.yml | 109 | ||||
-rw-r--r-- | .github/workflows/unix_build.yml | 59 | ||||
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | appveyor.yml | 29 |
4 files changed, 110 insertions, 90 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fe8295e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,109 @@ +name: "Build" + +concurrency: + # for PR's cancel the running task, if another commit is pushed + group: ${{ github.workflow }} ${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +on: + # build on PR and push-to-main. This works for short-lived branches, and saves + # CPU cycles on duplicated tests. + # For long-lived branches that diverge, you'll want to run on all pushes, not + # just on push-to-main. + pull_request: {} + push: + branches: + - master + +jobs: + test: + strategy: + fail-fast: false + matrix: + os: ['ubuntu-20.04', 'macos-11.0'] + luaVersion: + - "5.1" + - "5.2" + - "5.3" + - "5.4" + - "luajit" + - "luajit-openresty" + include: + - os: "macos-latest" + luaVersion: "5.4" + # On Windows builds: + # 'hishamhm/gh-actions-lua' will build the PuC Rio Lua versions using MSVC, and + # the LuaJIT version using MinGW/gcc. By running against both below, we test + # both toolchains. + - os: "windows-latest" + toolchain: "msvc" + luaVersion: "5.1" + - os: "windows-latest" + toolchain: "msvc" + luaVersion: "5.2" + - os: "windows-latest" + toolchain: "msvc" + luaVersion: "5.3" + - os: "windows-latest" + toolchain: "msvc" + luaVersion: "5.4" + - os: "windows-latest" + toolchain: "mingw" # unused, other than for display in the UI + luaVersion: "luajit" + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup MSVC + # the 'hishamhm/gh-actions-lua' step requires msvc to build PuC Rio Lua + # versions on Windows (LuaJIT will be build using MinGW/gcc). + if: ${{ matrix.toolchain == 'msvc' }} + uses: ilammy/msvc-dev-cmd@v1 + + # - name: install Dependencies analyzer + # # action step used for troubleshooting if Windows dll's build incorrectly + # run: | + # $version = "1.11.1" + # echo "Installing Dependencies version: $version" + # $url = 'https://github.com/lucasg/Dependencies/releases/download/v' + $version + '/Dependencies_x64_Release.zip' + # $dest = Join-Path -Path $PWD -ChildPath ".dependencies" + + # # Download and extract Dependencies + # New-Item -ItemType Directory -Path "$dest" + # Invoke-WebRequest -Uri $url -OutFile "$dest\dependencies.zip" + # Expand-Archive -Path "$dest\dependencies.zip" -DestinationPath "$dest" + # Remove-Item -Path "$dest\dependencies.zip" + # # dir "$dest" + + # # Add Dependencies to PATH + # $env:PATH += ";$dest" + # echo $env:PATH + + # # Verify Dependencies Installation + # dir "$dest\*.exe" + # dir ".\.dependencies\Dependencies.exe" + # .\.dependencies\Dependencies.exe -help + + - uses: hishamhm/gh-actions-lua@master + with: + luaVersion: ${{ matrix.luaVersion }} + + - uses: hishamhm/gh-actions-luarocks@master + with: + luarocksVersion: "3.11.0" + + - name: dependencies + run: | + luarocks install busted + + - name: install + run: | + luarocks remove --force luasystem + luarocks make + + - name: test + run: | + busted --Xoutput "--color" diff --git a/.github/workflows/unix_build.yml b/.github/workflows/unix_build.yml deleted file mode 100644 index 845a156..0000000 --- a/.github/workflows/unix_build.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: "Unix build" - -concurrency: - # for PR's cancel the running task, if another commit is pushed - group: ${{ github.workflow }} ${{ github.ref }} - cancel-in-progress: ${{ github.event_name == 'pull_request' }} - -on: - # build on PR and push-to-main. This works for short-lived branches, and saves - # CPU cycles on duplicated tests. - # For long-lived branches that diverge, you'll want to run on all pushes, not - # just on push-to-main. - pull_request: {} - push: - branches: - - master - - -jobs: - test: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - os: ['ubuntu-20.04', 'macos-11.0'] - luaVersion: - - "5.1" - - "5.2" - - "5.3" - - "5.4" - - "luajit-2.1.0-beta3" - - "luajit-openresty" - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: leafo/gh-actions-lua@v10 - with: - luaVersion: ${{ matrix.luaVersion }} - - - uses: leafo/gh-actions-luarocks@v4 - - - name: dependencies - run: | - luarocks install busted - luarocks make - - - name: test - run: | - busted --Xoutput "--color" - - # - name: Report test coverage - # if: success() - # continue-on-error: true - # run: luacov-coveralls - # env: - # COVERALLS_REPO_TOKEN: ${{ github.token }} @@ -1,5 +1,4 @@ -[![Unix build](https://img.shields.io/github/actions/workflow/status/lunarmodules/luasystem/unix_build.yml?branch=master&label=Unix%20build&logo=linux)](https://github.com/lunarmodules/luasystem/actions/workflows/unix_build.yml) -[![AppVeyor build status](https://img.shields.io/appveyor/build/Tieske/luasystem/master?label=Windows%20build&logo=windows)](https://ci.appveyor.com/project/Tieske/luasystem/branch/master) +[![Build](https://img.shields.io/github/actions/workflow/status/lunarmodules/luasystem/build.yml?branch=master&label=Unix%20build&logo=linux)](https://github.com/lunarmodules/luasystem/actions/workflows/build.yml) [![Lint](https://github.com/lunarmodules/luasystem/workflows/Lint/badge.svg)](https://github.com/lunarmodules/luasystem/actions/workflows/lint.yml) [![SemVer](https://img.shields.io/github/v/tag/lunarmodules/luasystem?color=brightgreen&label=SemVer&logo=semver&sort=semver)](CHANGELOG.md) diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index f39445b..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,29 +0,0 @@ -# this fails for some reason. Disabled for now. - -shallow_clone: true - -environment: - matrix: - - LUA: "lua 5.1" - - LUA: "lua 5.2" - - LUA: "lua 5.3" - - LUA: "lua 5.4" - - LUA: "luajit 2.0" - - LUA: "luajit 2.0 --compat 5.2" - - LUA: "luajit 2.1" - - LUA: "luajit 2.1 --compat 5.2" - -before_build: - - set PATH=C:\Python27\Scripts;%PATH% - - pip install --upgrade certifi - - FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "import certifi;print(certifi.where())"`) DO ( SET SSL_CERT_FILE=%%F ) - - pip install hererocks - - hererocks here --%LUA% -rlatest - - call here\bin\activate - - luarocks install busted - -build_script: - - luarocks make - -test_script: - - busted --Xoutput "--color" |