initial
Some checks are pending
CI Tests / dotnet (push) Waiting to run
CI Tests / dotnet-1 (push) Waiting to run
CI Tests / dotnet-2 (push) Waiting to run
Emacs End-to-End Tests / ert (push) Waiting to run
Vim End-to-End Tests / themis (push) Waiting to run

This commit is contained in:
fwastring 2026-02-17 13:06:31 +01:00
commit baa0056244
352 changed files with 47928 additions and 0 deletions

68
.github/workflows/ci-test.yml vendored Normal file
View file

@ -0,0 +1,68 @@
name: CI Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
ci:
name: dotnet
strategy:
matrix:
os: [ windows-latest, macos-latest, ubuntu-latest ]
runs-on: ${{ matrix.os }}
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
global-json-file: ./global.json
- name: Install PSResources
shell: pwsh
run: ./tools/installPSResources.ps1
- name: Download PowerShell install script
uses: actions/checkout@v4
with:
repository: PowerShell/PowerShell
path: pwsh
sparse-checkout: tools/install-powershell.ps1
sparse-checkout-cone-mode: false
- name: Install preview
shell: pwsh
run: ./pwsh/tools/install-powershell.ps1 -Preview -Destination ./preview
- name: If debugging, start upterm for interactive pipeline troubleshooting
if: ${{ runner.debug == 1 }}
uses: lhotari/action-upterm@v1
with:
wait-timeout-minutes: 1
- name: Build and test
shell: pwsh
run: Invoke-Build -Configuration Release TestFull
- name: Upload build artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: PowerShellEditorServices-module-${{ matrix.os }}
path: module
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: PowerShellEditorServices-test-results-${{ matrix.os }}
path: '**/*.trx'

View file

@ -0,0 +1,45 @@
name: Issue Housekeeping
permissions:
issues: write
on:
schedule:
- cron: "0 * * * *"
jobs:
stale-resolved-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Label resolved issues as needing fix verification
with:
any-of-labels: "Resolution-Answered,Resolution-Duplicate,Resolution-External,Resolution-Fixed,Resolution-Inactive"
stale-issue-label: "Needs: Fix Verification"
days-before-stale: 0
days-before-close: -1
stale-issue-message: "This issue has been labeled as resolved, please verify the provided fix (or other reason)."
labels-to-remove-when-stale: "Needs: Maintainer Attention,Needs: Triage"
stale-fixed-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Close issues needing fix verification after 1 week of inactivity
with:
stale-issue-label: "Needs: Fix Verification"
days-before-stale: -1
labels-to-add-when-unstale: "Needs: Maintainer Attention"
close-issue-reason: completed
close-issue-message: "This issue has been labeled as needing fix verification and has not had any activity a week. It has been closed for housekeeping purposes."
stale-feedback-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
name: Close issues needing author feedback after 1 week of inactivity
with:
stale-issue-label: "Needs: Author Feedback"
days-before-stale: -1
labels-to-add-when-unstale: "Needs: Maintainer Attention"
labels-to-remove-when-unstale: "Needs: Triage"
close-issue-reason: completed
close-issue-message: "This issue has been labeled as needing feedback and has not had any activity a week. It has been closed for housekeeping purposes."

50
.github/workflows/emacs-test.yml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Emacs End-to-End Tests
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
merge_group:
types: [ checks_requested ]
jobs:
emacs:
name: ert
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
- name: Install PSResources
shell: pwsh
run: tools/installPSResources.ps1
- name: Build
shell: pwsh
run: Invoke-Build Build
- name: Install Emacs
uses: purcell/setup-emacs@master
with:
version: '28.2'
- name: Run ERT with full CLI
run: |
emacs -Q --batch -f package-refresh-contents --eval "(package-install 'eglot)"
emacs -Q --batch -l test/emacs-test.el -f ert-run-tests-batch-and-exit
- name: Run ERT with simple CLI
run: |
emacs -Q --batch -f package-refresh-contents --eval "(package-install 'eglot)"
emacs -Q --batch -l test/emacs-simple-test.el -f ert-run-tests-batch-and-exit

76
.github/workflows/vim-test.yml vendored Normal file
View file

@ -0,0 +1,76 @@
name: Vim End-to-End Tests
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
merge_group:
types: [ checks_requested ]
jobs:
vim:
name: themis
runs-on: ubuntu-latest
env:
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dotnet
uses: actions/setup-dotnet@v4
with:
cache: true
cache-dependency-path: '**/*.csproj'
- name: Install PSResources
shell: pwsh
run: tools/installPSResources.ps1
- name: Build
shell: pwsh
run: Invoke-Build Build
- name: Install Vim
id: vim
uses: rhysd/action-setup-vim@v1
with:
version: nightly
- name: Checkout vim-ps1
uses: actions/checkout@v4
with:
repository: PProvost/vim-ps1
path: vim-ps1
- name: Checkout LanguageClient-neovim
uses: actions/checkout@v4
with:
repository: autozimu/LanguageClient-neovim
path: LanguageClient-neovim
- name: Install LanguageClient-neovim
run: ./install.sh
working-directory: LanguageClient-neovim
- name: Checkout Themis
uses: actions/checkout@v4
with:
repository: thinca/vim-themis
path: vim-themis
# - name: Debug if run with debugging enabled
# uses: lhotari/action-upterm@v1
- name: Run Themis with full CLI
env:
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
run: ./vim-themis/bin/themis ./test/vim-test.vim
- name: Run Themis with simple CLI
env:
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
run: ./vim-themis/bin/themis ./test/vim-simple-test.vim