Repository navigation
docs: explain that a GraalVM needs build-essential and zlib1g-dev only for native-image, which GraalVM CE 8 to 19 do not include; ci: stop a newer commit on main from cancelling the e2e run of an older one
#88
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Copyright 2026 Han Li and contributors | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| name: Test Plugin | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 | |
| with: | |
| go-version: '1.24.0' | |
| cache: false | |
| # vfox plugin test came with vfox 1.0.13. The release is pinned and its | |
| # checksum checked, as the actions are pinned by their commits; change the | |
| # two together to move to another release. | |
| - name: Install vfox | |
| env: | |
| VFOX_VERSION: 1.0.13 | |
| VFOX_SHA256: 7ad0a4c82c8173f09393e09abecc3e27468253bab5fe53ffbf58f2b12b3fc768 | |
| run: | | |
| archive="$RUNNER_TEMP/vfox.tar.gz" | |
| curl --fail --silent --show-error --location --output "$archive" \ | |
| "https://github.com/version-fox/vfox/releases/download/v${VFOX_VERSION}/vfox_${VFOX_VERSION}_linux_x86_64.tar.gz" | |
| echo "$VFOX_SHA256 $archive" | sha256sum --check | |
| mkdir "$RUNNER_TEMP/vfox" | |
| tar --extract --gzip --file "$archive" --directory "$RUNNER_TEMP/vfox" --strip-components=1 \ | |
| "vfox_${VFOX_VERSION}_linux_x86_64/vfox" | |
| echo "$RUNNER_TEMP/vfox" >> "$GITHUB_PATH" | |
| # It finds tests/**/*_test.lua and runs each file in a VM of its own. A file | |
| # that does not call test.load() from vfox.test fails, and so does a run | |
| # that finds no test file. | |
| - name: Run the offline hook tests with vfox | |
| run: vfox plugin test . | |
| # PostInstall's shell script runs for real here, on directories the test | |
| # makes, and vfox plugin test disables os.execute. So this file is not a | |
| # *_test.lua, and it runs under glua, as it does on macOS below. | |
| - name: Test the macOS Java home layouts with vfox's Lua interpreter | |
| run: go run github.com/yuin/gopher-lua/cmd/glua@v1.1.1 tests/post_install_layouts.lua | |
| macos-layout: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6 | |
| with: | |
| go-version: '1.24.0' | |
| cache: false | |
| - name: Test actual macOS filesystem layouts | |
| run: go run github.com/yuin/gopher-lua/cmd/glua@v1.1.1 tests/post_install_layouts.lua |