Skip to content
Open
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
131 changes: 131 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(actions)"

- package-ecosystem: "docker"
directory: "/build/dockerfiles"
schedule:
interval: "weekly"
open-pull-requests-limit: 3
commit-message:
prefix: "deps(docker)"

- package-ecosystem: "npm"
directory: "/code"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/remote"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/build"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-api"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-activity-tracker"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-commands"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-github-authentication"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-port"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-remote"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-resource-monitor"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-telemetry"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/code/extensions/che-terminal"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"

- package-ecosystem: "npm"
directory: "/launcher"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
commit-message:
prefix: "deps(npm)"


58 changes: 11 additions & 47 deletions .github/workflows/pull-request-check-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,6 @@ jobs:
rm -rf /opt/hostedtoolcache
df -h

- name: Login to Quay.io
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_PULL_REQUESTS_USERNAME }}
password: ${{ secrets.QUAY_PULL_REQUESTS_PASSWORD }}

- name: Download Pull Request Number artifact
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -67,54 +60,25 @@ jobs:
- name: List downloaded files
run: |
ls -lahR
- name: Load che-code-amd64 image

- name: Load Docker images
run: |
docker load -i che-code-amd64.tgz

- name: Login to Quay.io
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}

- name: Push che-code-amd64 docker image
run: |
export IMAGE=quay.io/che-incubator-pull-requests/che-code:pr-${{env._PR_NUMBER}}-amd64
export IMAGE=quay.io/${{ secrets.QUAY_USERNAME }}/che-code:pr-${{env._PR_NUMBER}}-amd64
docker tag che-code-amd64 ${IMAGE}
docker push ${IMAGE}
echo "_CHE_CODE_AMD64_IMAGE=${IMAGE}" >> $GITHUB_ENV

- name: Remove che-code-amd64 and prune
run: |
docker image rm che-code-amd64 || true
docker system prune -af

- name: Load che-code-arm64 image
run: |
docker load -i che-code-arm64.tgz

- name: Push che-code-arm64 docker image
run: |
export IMAGE=quay.io/che-incubator-pull-requests/che-code:pr-${{env._PR_NUMBER}}-arm64
docker tag che-code-arm64 ${IMAGE}
docker push ${IMAGE}
echo "_CHE_CODE_ARM64_IMAGE=${IMAGE}" >> $GITHUB_ENV

- name: Remove che-code-arm64 and prune
run: |
docker image rm che-code-arm64 || true
docker system prune -af

- name: Load che-dev image
run: |
docker load -i che-dev.tgz

- name: Push che-dev docker image
run: |
export IMAGE=quay.io/che-incubator-pull-requests/che-code-dev:pr-${{env._PR_NUMBER}}-dev-amd64
docker tag che-dev ${IMAGE}
docker push ${IMAGE}
echo "_CHE_DEV_IMAGE=${IMAGE}" >> $GITHUB_ENV

- name: Remove che-dev and prune
run: |
docker image rm che-dev || true
docker system prune -af

- name: 'Comment PR'
uses: actions/github-script@v7
with:
Expand All @@ -124,5 +88,5 @@ jobs:
issue_number: process.env._PR_NUMBER,
owner: context.repo.owner,
repo: context.repo.repo,
body: `Pull Request images published ✨\n\nEditor amd64: [${process.env._CHE_CODE_AMD64_IMAGE}](https://${process.env._CHE_CODE_AMD64_IMAGE})\nEditor arm64: [${process.env._CHE_CODE_ARM64_IMAGE}](https://${process.env._CHE_CODE_ARM64_IMAGE})\nDev image: [${process.env._CHE_DEV_IMAGE}](https://${process.env._CHE_DEV_IMAGE})`
body: `Pull Request images published ✨\n\nEditor amd64: [${process.env._CHE_CODE_AMD64_IMAGE}](https://${process.env._CHE_CODE_AMD64_IMAGE})`
})
37 changes: 2 additions & 35 deletions .github/workflows/pull-request-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
fail-fast: false
matrix:
dist: ['libc-ubi8', 'libc-ubi9', 'musl']
runners: ['ubuntu-22.04', 'ubuntu-22.04-arm']
runners: ['ubuntu-22.04']
runs-on: ${{matrix.runners}}
steps:
- name: Set arch environment variable
Expand Down Expand Up @@ -79,7 +79,7 @@ jobs:
strategy:
fail-fast: false
matrix:
runners: ['ubuntu-22.04', 'ubuntu-22.04-arm']
runners: ['ubuntu-22.04']
runs-on: ${{matrix.runners}}
steps:
- name: Set arch environment variable
Expand Down Expand Up @@ -138,36 +138,3 @@ jobs:
with:
name: pull-request-number
path: PR_NUMBER

dev:
name: build-che-dev-image
runs-on: ubuntu-22.04
steps:
- name: Checkout che-code source code
uses: actions/checkout@v4

- name: Cleanup docker images
run: |
docker system prune -af

- name: Build Che-Code Docker image
run: |
docker buildx build \
--platform linux/amd64 \
--progress=plain \
-f build/dockerfiles/dev.Dockerfile \
-t che-dev .

- name: Display docker images
run: |
docker images

- name: Compress che-dev image to a file
run: |
docker save che-dev | gzip > che-dev.tgz

- name: Upload che-dev docker image artifact
uses: actions/upload-artifact@v4
with:
name: che-dev
path: che-dev.tgz
52 changes: 0 additions & 52 deletions build/dockerfiles/linux-libc-ubi8.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -91,58 +91,6 @@ RUN chmod a+x /checode/out/server-main.js \
### Beginning of tests
# Do not change line above! It is used to cut this section to skip tests

# Compile tests
RUN ./node_modules/.bin/gulp compile-extension:vscode-api-tests \
compile-extension:markdown-language-features \
compile-extension:typescript-language-features \
compile-extension:emmet \
compile-extension:git \
compile-extension:ipynb \
compile-extension-media \
compile-extension:configuration-editing

# Compile test suites
# https://github.com/microsoft/vscode/blob/cdde5bedbf3ed88f93b5090bb3ed9ef2deb7a1b4/test/integration/browser/README.md#compile
RUN if [ "$(uname -m)" = "x86_64" ]; then npm --prefix test/smoke run compile && npm --prefix test/integration/browser run compile; fi

# install test dependencies
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0
RUN if [ "$(uname -m)" = "x86_64" ]; then npm run playwright-install; fi
# Install procps to manage to kill processes and centos stream repository
RUN if [ "$(uname -m)" = "x86_64" ]; then \
ARCH=$(uname -m) && \
yum install --nobest -y procps \
https://vault.centos.org/centos/8/extras/${ARCH}/os/Packages/epel-release-8-11.el8.noarch.rpm \
https://vault.centos.org/8-stream/BaseOS/${ARCH}/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm \
https://vault.centos.org/8-stream/BaseOS/${ARCH}/os/Packages/centos-stream-repos-8-3.el8.noarch.rpm; \
fi

RUN if [ "$(uname -m)" = "x86_64" ]; then \
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
&& yum install -y chromium \
&& PLAYWRIGHT_CHROMIUM_PATH=$(echo /opt/app-root/src/.cache/ms-playwright/chromium-*/) \
&& rm "${PLAYWRIGHT_CHROMIUM_PATH}/chrome-linux/chrome" \
&& ln -s /usr/bin/chromium-browser "${PLAYWRIGHT_CHROMIUM_PATH}/chrome-linux/chrome"; \
fi

# use of retry and timeout
COPY /build/scripts/helper/retry.sh /opt/app-root/src/retry.sh
RUN chmod u+x /opt/app-root/src/retry.sh

# Run integration tests (Browser)
RUN if [ "$(uname -m)" = "x86_64" ]; then \
NODE_ARCH=$(echo "console.log(process.arch)" | node) \
VSCODE_REMOTE_SERVER_PATH="$(pwd)/../vscode-reh-web-linux-${NODE_ARCH}" \
/opt/app-root/src/retry.sh -v -t 3 -s 2 -- timeout -v 5m ./scripts/test-web-integration.sh --browser chromium; \
fi

# Run smoke tests (Browser)
RUN if [ "$(uname -m)" = "x86_64" ]; then \
NODE_ARCH=$(echo "console.log(process.arch)" | node) \
VSCODE_REMOTE_SERVER_PATH="$(pwd)/../vscode-reh-web-linux-${NODE_ARCH}" \
/opt/app-root/src/retry.sh -v -t 3 -s 2 -- timeout -v 5m npm run smoketest-no-compile -- --web --headless --electronArgs="--disable-dev-shm-usage --use-gl=swiftshader"; \
fi

# Do not change line below! It is used to cut this section to skip tests
### Ending of tests

Expand Down
51 changes: 0 additions & 51 deletions build/dockerfiles/linux-libc-ubi9.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -91,57 +91,6 @@ RUN chmod a+x /checode/out/server-main.js \
### Beginning of tests
# Do not change line above! It is used to cut this section to skip tests

# Compile tests
RUN ./node_modules/.bin/gulp compile-extension:vscode-api-tests \
compile-extension:markdown-language-features \
compile-extension:typescript-language-features \
compile-extension:emmet \
compile-extension:git \
compile-extension:ipynb \
compile-extension-media \
compile-extension:configuration-editing

# # Compile test suites
# https://github.com/microsoft/vscode/blob/cdde5bedbf3ed88f93b5090bb3ed9ef2deb7a1b4/test/integration/browser/README.md#compile
RUN if [ "$(uname -m)" = "x86_64" ]; then npm --prefix test/smoke run compile && npm --prefix test/integration/browser run compile; fi

# install test dependencies
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0
RUN if [ "$(uname -m)" = "x86_64" ]; then npm run playwright-install; fi
# Install procps to manage to kill processes and centos stream repository
RUN if [ "$(uname -m)" = "x86_64" ]; then \
ARCH=$(uname -m) && \
yum install --nobest -y procps \
https://rpmfind.net/linux/epel/9/Everything/x86_64/Packages/e/epel-release-9-10.el9.noarch.rpm \
https://rpmfind.net/linux/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-23.el9.noarch.rpm \
https://rpmfind.net/linux/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-23.el9.noarch.rpm; \
fi

RUN if [ "$(uname -m)" = "x86_64" ]; then \
yum install -y chromium && \
PLAYWRIGHT_CHROMIUM_PATH=$(echo /opt/app-root/src/.cache/ms-playwright/chromium-*/) && \
rm "${PLAYWRIGHT_CHROMIUM_PATH}/chrome-linux/chrome" && \
ln -s /usr/bin/chromium-browser "${PLAYWRIGHT_CHROMIUM_PATH}/chrome-linux/chrome"; \
fi

# use of retry and timeout
COPY /build/scripts/helper/retry.sh /opt/app-root/src/retry.sh
RUN chmod u+x /opt/app-root/src/retry.sh

# Run integration tests (Browser)
RUN if [ "$(uname -m)" = "x86_64" ]; then \
NODE_ARCH=$(echo "console.log(process.arch)" | node) \
VSCODE_REMOTE_SERVER_PATH="$(pwd)/../vscode-reh-web-linux-${NODE_ARCH}" \
/opt/app-root/src/retry.sh -v -t 3 -s 2 -- timeout -v 5m ./scripts/test-web-integration.sh --browser chromium; \
fi

# Run smoke tests (Browser)
RUN if [ "$(uname -m)" = "x86_64" ]; then \
NODE_ARCH=$(echo "console.log(process.arch)" | node) \
VSCODE_REMOTE_SERVER_PATH="$(pwd)/../vscode-reh-web-linux-${NODE_ARCH}" \
/opt/app-root/src/retry.sh -v -t 3 -s 2 -- timeout -v 5m npm run smoketest-no-compile -- --web --headless --electronArgs="--disable-dev-shm-usage --use-gl=swiftshader"; \
fi

# Do not change line below! It is used to cut this section to skip tests
### Ending of tests

Expand Down
Loading