diff options
| author | Caleb Maclennan <caleb@alerque.com> | 2022-03-24 18:15:42 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-24 18:15:42 +0300 |
| commit | e47d98f401972ea0cb2b9fc181faaba2cce0f336 (patch) | |
| tree | 5628c35b26609fdb80469f9bee072fbe43893fe0 /.github/workflows | |
| parent | 5ed8b66e6d0c295f95fade159ada0f97f482b2ac (diff) | |
| parent | bac0b8dc274b46cf37bea02aa7edca8f1011a4b8 (diff) | |
| download | luasocket-e47d98f401972ea0cb2b9fc181faaba2cce0f336.tar.gz luasocket-e47d98f401972ea0cb2b9fc181faaba2cce0f336.tar.bz2 luasocket-e47d98f401972ea0cb2b9fc181faaba2cce0f336.zip | |
Merge pull request #356 from lunarmodules/test-builds
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 45 | ||||
| -rw-r--r-- | .github/workflows/deploy.yml | 34 |
2 files changed, 79 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..17cad49 --- /dev/null +++ b/.github/workflows/build.yml | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | name: Test build | ||
| 2 | |||
| 3 | on: | ||
| 4 | push: | ||
| 5 | branches: | ||
| 6 | - master | ||
| 7 | pull_request: | ||
| 8 | |||
| 9 | jobs: | ||
| 10 | build: | ||
| 11 | name: Test build on Linux | ||
| 12 | strategy: | ||
| 13 | fail-fast: false | ||
| 14 | matrix: | ||
| 15 | luaVersion: [ "5.4", "5.3", "5.2", "5.1", "luajit", "luajit-openresty"] | ||
| 16 | platform: [ "ubuntu-20.04", "macos-11" ] # "windows-2022" not supported by gh-actions-lua | ||
| 17 | runs-on: ${{ matrix.platform }} | ||
| 18 | steps: | ||
| 19 | - name: Checkout | ||
| 20 | uses: actions/checkout@v3 | ||
| 21 | - name: Setup ‘lua’ | ||
| 22 | uses: leafo/gh-actions-lua@v9 | ||
| 23 | with: | ||
| 24 | luaVersion: ${{ matrix.luaVersion }} | ||
| 25 | - name: Setup ‘luarocks’ | ||
| 26 | uses: leafo/gh-actions-luarocks@v4 | ||
| 27 | - name: Make and install | ||
| 28 | run: | | ||
| 29 | export DEBUG=DEBUG | ||
| 30 | luarocks make -- luasocket-scm-3.rockspec | ||
| 31 | - name: Run regression tests | ||
| 32 | run: | | ||
| 33 | cd test | ||
| 34 | lua hello.lua | ||
| 35 | lua testsrvr.lua > /dev/null & | ||
| 36 | lua testclnt.lua | ||
| 37 | lua stufftest.lua | ||
| 38 | lua excepttest.lua | ||
| 39 | lua test_bind.lua | ||
| 40 | lua test_getaddrinfo.lua | ||
| 41 | lua ltn12test.lua | ||
| 42 | lua mimetest.lua | ||
| 43 | lua urltest.lua | ||
| 44 | lua test_socket_error.lua | ||
| 45 | kill %1 | ||
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..acd66ea --- /dev/null +++ b/.github/workflows/deploy.yml | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | name: Deploy | ||
| 2 | |||
| 3 | on: [ push, workflow_dispatch ] | ||
| 4 | |||
| 5 | jobs: | ||
| 6 | |||
| 7 | affected: | ||
| 8 | uses: lunarmodules/.github/.github/workflows/list_affected_rockspecs.yml@main | ||
| 9 | |||
| 10 | build: | ||
| 11 | needs: affected | ||
| 12 | if: ${{ needs.affected.outputs.rockspecs }} | ||
| 13 | uses: lunarmodules/.github/.github/workflows/test_build_rock.yml@main | ||
| 14 | with: | ||
| 15 | rockspecs: ${{ needs.affected.outputs.rockspecs }} | ||
| 16 | |||
| 17 | upload: | ||
| 18 | needs: [ affected, build ] | ||
| 19 | # Only run upload if: | ||
| 20 | # 1. We are on the canonical repository (no uploads from forks) | ||
| 21 | # 2. The current commit is either tagged or on the default branch (the workflow will upload dev/scm rockspecs any | ||
| 22 | # time they are touched, tagged ones whenever the edited rockspec and tag match) | ||
| 23 | # 3. Some rockspecs were changed — this implies the commit changing the rockspec is the same one that gets tagged | ||
| 24 | if: >- | ||
| 25 | ${{ | ||
| 26 | github.repository == 'lunarmodules/luasocket' && | ||
| 27 | ( github.ref_name == 'master' || startsWith(github.ref, 'refs/tags/') ) && | ||
| 28 | needs.affected.outputs.rockspecs | ||
| 29 | }} | ||
| 30 | uses: lunarmodules/.github/.github/workflows/upload_to_luarocks.yml@main | ||
| 31 | with: | ||
| 32 | rockspecs: ${{ needs.affected.outputs.rockspecs }} | ||
| 33 | secrets: | ||
| 34 | apikey: ${{ secrets.LUAROCKS_APIKEY }} | ||
