Merge pull request #2460 from zowe/fix/ftp/create-member #1
This file contains 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
# 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/ |