Skip to content
Open
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
Loading