summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThijs Schreijer <thijs@thijsschreijer.nl>2024-03-19 11:05:51 +0100
committerGitHub <noreply@github.com>2024-03-19 11:05:51 +0100
commit7ef8c463484ea8ed0f4277fb75c2beecd22adbe5 (patch)
treece6ffe3714926e2c45a19fe06b956a80bcda2f0c
parent7cef1cf1a74c8e10d9cc61b6f5b748f4f7a26abd (diff)
downloadluasystem-7ef8c463484ea8ed0f4277fb75c2beecd22adbe5.zip
chore(ci): macos-latest + windows-latest (#17)
Co-authored-by: Hisham Muhammad <hisham@gobolinux.org>
-rw-r--r--.github/workflows/build.yml109
-rw-r--r--.github/workflows/unix_build.yml59
-rw-r--r--README.md3
-rw-r--r--appveyor.yml29
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 }}
diff --git a/README.md b/README.md
index 6f3c9f6..34d7882 100644
--- a/README.md
+++ b/README.md
@@ -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"