Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ jobs:
- name: lint
run: npm run lint
- run: npm run compile
- name: npm test
run: xvfb-run npm test
- name: Build package
run: |
npx @vscode/vsce package -o ${{ steps.set-version.outputs.name }}.vsix
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Pre-release tests

# Integration tests against a real IRIS container. Too slow to run on every PR, so they only run on
# release-preparation PRs (source branch "prepare-*") and on demand.
on:
pull_request:
branches:
- master
- prerelease
workflow_dispatch:

jobs:
integration:
if: github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'prepare-')
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- run: npm install
- name: Install Podman Compose
run: |
sudo apt-get update
sudo apt-get install -y podman-compose
- name: Use Podman, not Docker
# The extension picks the first compose command that works, trying Docker before Podman; drop
# the runner's Docker Compose so both the container lifecycle here and the extension use Podman.
run: sudo apt-get remove -y docker-compose-plugin || true
- name: Start IRIS
run: podman compose -f test-fixtures/iris/docker-compose.yml up -d
- name: Wait for IRIS
run: |
for i in $(seq 1 60); do
if curl -sf -o /dev/null -u _SYSTEM:SYS http://localhost:52799/api/atelier/ \
&& curl -sf -o /dev/null http://localhost:52798/api/atelier/; then
echo "IRIS is ready"; exit 0
fi
sleep 5
done
echo "IRIS did not become ready"; podman compose -f test-fixtures/iris/docker-compose.yml logs; exit 1
- name: Run integration tests
run: xvfb-run npm test
- name: IRIS logs
if: failure()
run: podman compose -f test-fixtures/iris/docker-compose.yml logs
- name: Stop IRIS
if: always()
run: podman compose -f test-fixtures/iris/docker-compose.yml down -v
2 changes: 0 additions & 2 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ jobs:
- name: lint
run: npm run lint
- run: npm run compile
- name: npm test
run: xvfb-run npm test
- name: Build pre-release package
run: |
npx @vscode/vsce package --pre-release -o ${{ steps.set-version.outputs.name }}.vsix
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,11 @@ out/
dist/
*.vsix
vscode*.d.ts
test-fixtures
.DS_Store

# Files created by the integration tests
test-fixtures/*/src/*
!test-fixtures/*/src/.gitkeep

# Generated per-launch workspace files (see src/test/runTest.ts)
test-fixtures/.generated/
Loading