diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..d44ef89 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,38 @@ +name: Lint + +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: + - main + + +jobs: + lint: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - uses: leafo/gh-actions-lua@v10 + with: + luaVersion: "5.4" + + - uses: leafo/gh-actions-luarocks@v4 + + - name: dependencies + run: | + make dev + + - name: lint + run: | + make lint diff --git a/.github/workflows/unix_build.yml b/.github/workflows/unix_build.yml new file mode 100644 index 0000000..96cd685 --- /dev/null +++ b/.github/workflows/unix_build.yml @@ -0,0 +1,52 @@ +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: + - main + + +jobs: + test: + runs-on: ubuntu-20.04 + + strategy: + fail-fast: false + matrix: + 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: | + make dev + luarocks install luacov-coveralls + + - name: test + run: | + make testinst BUSTED='--coverage --Xoutput "--color"' + + - name: Report test coverage + if: success() + continue-on-error: true + run: luacov-coveralls + env: + COVERALLS_REPO_TOKEN: ${{ github.token }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9c60ca8..0000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -language: python -sudo: false - -env: - - 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_install: - - pip install hererocks - - hererocks here -r^ --$LUA - - source here/bin/activate - - luarocks install luacheck - - luarocks install busted - - luarocks install luacov-coveralls - -install: - - luarocks make - -script: - - luacheck . - - busted - -after_success: - - luacov-coveralls diff --git a/README.md b/README.md index 7e7f9ee..2e1f5b6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # LuaDate v2.2 -[![Build Status](https://travis-ci.com/Tieske/date.svg?branch=master)](https://travis-ci.com/Tieske/date) -[![Coverage Status](https://coveralls.io/repos/github/Tieske/date/badge.svg?branch=master)](https://coveralls.io/github/Tieske/date?branch=master) +[![Unix build](https://img.shields.io/github/actions/workflow/status/Tieske/date/unix_build.yml?branch=main&label=Unix%20build&logo=linux)](https://github.com/Tieske/date/actions/workflows/unix_build.yml) +[![Coveralls code coverage](https://img.shields.io/coveralls/github/Tieske/date?logo=coveralls)](https://coveralls.io/github/Tieske/date) +[![Lint](https://github.com/Tieske/date/workflows/Lint/badge.svg)](https://github.com/Tieske/date/actions/workflows/lint.yml) +[![SemVer](https://img.shields.io/github/v/tag/Tieske/date?color=brightgreen&label=SemVer&logo=semver&sort=semver)](CHANGELOG.md) Lua Date and Time module for Lua 5.x.