From 4f626d856bfc077714870ae1546c6cb2baf9a1ea Mon Sep 17 00:00:00 2001 From: Guillaume Wenzek Date: Sun, 18 Feb 2024 07:31:17 +0100 Subject: [PATCH] st4 + linguist tests Signed-off-by: Guillaume Wenzek --- .github/workflows/gh_linguist.yaml | 61 ++++++++++++++++++++++++++++++ .github/workflows/st4.yaml | 52 +++++++++++++++++++++++++ .github/workflows/textmate.yaml | 36 ------------------ 3 files changed, 113 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/gh_linguist.yaml create mode 100644 .github/workflows/st4.yaml delete mode 100644 .github/workflows/textmate.yaml diff --git a/.github/workflows/gh_linguist.yaml b/.github/workflows/gh_linguist.yaml new file mode 100644 index 0000000..ae90f23 --- /dev/null +++ b/.github/workflows/gh_linguist.yaml @@ -0,0 +1,61 @@ +name: Run Tests + +on: + push: + branches: + - master + pull_request: + branches: + - master + +permissions: + contents: read + +jobs: + run: + name: Ruby ${{ matrix.ruby }} + runs-on: ubuntu-latest + strategy: + matrix: + ruby: [ '3.2' ] + steps: + - uses: actions/checkout@v1 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Fetch grammar submodules + run: | + git fetch origin master:master v2.0.0:v2.0.0 test/attributes:test/attributes test/master:test/master + sed -i 's|git@github.com:|https://github.com/|' .gitmodules + git submodule init + git submodule sync --quiet + script/fast-submodule-update + - name: Run tests + run: bundle exec rake + dockerfile: + name: Test Dockerfile + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Build container + run: docker build -t linguist . + - name: Analyse current directory + run: docker run --rm -v $(pwd):$(pwd) -w $(pwd) --user $(id -u) -t linguist | tee output + - name: Confirm analysis + run: grep Ruby output + classifier: + name: Classifier cross-validation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + bundler-cache: true + - name: Build + run: bundle exec rake samples + - name: Run cross-validation + run: bundle exec script/cross-validation --test 2>&1 diff --git a/.github/workflows/st4.yaml b/.github/workflows/st4.yaml new file mode 100644 index 0000000..9254234 --- /dev/null +++ b/.github/workflows/st4.yaml @@ -0,0 +1,52 @@ +name: st4 + +on: + - push + - pull_request + +jobs: + run_syntax_tests: + name: Test on ${{ matrix.sublime-channel }} build + runs-on: ubuntu-latest + timeout-minutes: 15 # default is 6 hours! + continue-on-error: ${{ matrix.optional }} + strategy: + max-parallel: 2 + fail-fast: false + matrix: + include: + + # latest stable build + # https://www.sublimetext.com/download + - sublime-channel: stable + sublime-build: 4169 + optional: true + + # latest dev build + # https://www.sublimetext.com/dev + - sublime-channel: dev + sublime-build: latest + optional: false + + steps: + + # https://github.com/actions/checkout + - name: Checkout Packages + uses: actions/checkout@v3 + with: + path: st_syntax_tests/Data/Packages + + - name: Get binary for ${{ matrix.sublime-channel }} build ${{ matrix.sublime-build }} + run: | + if [[ "${{ matrix.sublime-build }}" == "latest" ]]; then + wget -O st_syntax_tests.tar.xz https://download.sublimetext.com/latest/dev/linux/x64/syntax_tests + else + wget -O st_syntax_tests.tar.xz https://download.sublimetext.com/st_syntax_tests_build_${{ matrix.sublime-build }}_x64.tar.xz + fi + tar xf st_syntax_tests.tar.xz + rm st_syntax_tests.tar.xz + + - name: Run syntax tests + run: | + cd st_syntax_tests + ./syntax_tests diff --git a/.github/workflows/textmate.yaml b/.github/workflows/textmate.yaml deleted file mode 100644 index ceeef59..0000000 --- a/.github/workflows/textmate.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: textmate -on: push -jobs: - test: - runs-on: macos-latest - steps: - - name: Install dependencies - run: | - brew install --cask textmate - brew install coreutils zig - - name: Textmate load success - run: | - # "install" bundle - mkdir -p "$HOME/Library/Application Support/TextMate/Bundles/" - ln -s "$PWD" "$HOME/Library/Application Support/TextMate/Bundles/Zig.tmbundle" - - # run TextMate, capture output - /Applications/TextMate.app/Contents/MacOS/TextMate | tee textmate.out & - - # don't expect the bundle to be mentioned in output as that would indicate an error - ! grep Zig.tmbundle textmate.out - - # open a sample source - mate hello.zig - - # use Build command via keyboard shortcut - osascript -e 'activate application "TextMate"' -e 'tell application "System Events" to keystroke "b" using command down' - - # wait for binary to be built - gtimeout 30 /bin/sh -c 'while ! ls hello 2>/dev/null; do sleep 1; done' - ./hello - - # debugging - # screencapture test.png; cat test.png | base64 - - osascript -e 'tell application "TextMate" to quit'