Skip to content

Merge pull request #2460 from zowe/fix/ftp/create-member #1

Merge pull request #2460 from zowe/fix/ftp/create-member

Merge pull request #2460 from zowe/fix/ftp/create-member #1

# Workflow name for GitHub Actions
name: Theia Zowe Explorer CI
on:
push:
paths:
- packages/zowe-explorer/**
- packages/zowe-explorer-api/**
- .github/workflows/theia-zowe-explorer-ci.yml
pull_request:
paths:
- packages/zowe-explorer/**
- packages/zowe-explorer-api/**
jobs:
ze-theia-build:
runs-on: ubuntu-latest
timeout-minutes: 60
concurrency:
group: ubuntu-latest-theia-ci-${{ github.ref }}
cancel-in-progress: true
if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository) && !contains(github.event.head_commit.message, '[ci skip]')
steps:
# check out source
- uses: actions/checkout@v3
# install dependencies
- run: yarn install --frozen-lockfile
# copy test data file needed for build :-(
- name: Create test data file
run: cp packages/zowe-explorer/resources/testProfileData.example.ts packages/zowe-explorer/resources/testProfileData.ts
- name: Build vsix
run: yarn workspace vscode-extension-for-zowe package
- name: Create extension install directory
run: mkdir -p temp/plugins && chmod -R 777 temp
- name: Copy vsix to theia folder
run: cp dist/*.vsix temp/plugins
# Verify vsix
- run: ls -la temp/plugins
- name: Start Theia
run: docker run --name theia --init -d -p 3000:3000 --user theia -v "${PWD}/temp/plugins/:/home/theia/plugins" t1m0thyj/theia-alpine:community
# NOTE(Kelosky): alternatively, we could run docker via something like this; however, we cannot hot reload
# hosted VS Code extensions after theia is started (at least at the time this was written).
# services:
# theia:
# image: theiaide/theia:next
# ports:
# - 3000:3000
# volumes:
# - temp:/home/theia/.theia
# # --health-cmd "curl --fail http://localhost:3000 || exit 1" --health-interval=5s --health-timeout=5s --health-retries 60
# options: --init
- name: Allow some time for the theia server to load
run: sleep 30s
- name: Verify plugin loaded
run: docker exec -i theia ls -la /home/theia/plugins
- name: Verify Theia accessible
run: curl --fail http://localhost:3000
- name: Prep integration test files
run: yarn workspace vscode-extension-for-zowe build:integration
- run: yarn workspace vscode-extension-for-zowe test:theia
- name: Upload test results
if: success() || failure()
uses: actions/upload-artifact@v3
with:
name: theia-zowe-explorer-results
path: packages/zowe-explorer/results/