Skip to content

Patch 2 #1774

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed

Patch 2 #1774

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
19e45ce
Tuning chmod permissions
diemol Jan 17, 2023
86597e7
Kick CI
diemol Jan 17, 2023
635bf3a
More tuning
diemol Jan 17, 2023
593a7b7
Tuning a bit more
diemol Jan 17, 2023
8f79bc3
Update Dockerfile
StevenBOULLE Jan 18, 2023
3c43228
Update Dockerfile
StevenBOULLE Jan 18, 2023
54af9f8
Merge branch 'update-chmod-permissions' into patch-2
diemol Jan 18, 2023
a9c6ba6
Fixes #1772
diemol Jan 18, 2023
f989664
Change group for some directories
StevenBOULLE Jan 18, 2023
9d57134
Usage of ACL
StevenBOULLE Jan 18, 2023
a88fda8
Install ACL package
StevenBOULLE Jan 18, 2023
cc9bc31
Merge branch 'trunk' into patch-2
StevenBOULLE Jan 18, 2023
0f38e31
typo in command setfacl
StevenBOULLE Jan 18, 2023
a8efbdb
change stefacl location on script
StevenBOULLE Jan 18, 2023
ac6d1ba
Change setfacl location once again
StevenBOULLE Jan 23, 2023
01b3bc2
add acl to /opt
StevenBOULLE Jan 23, 2023
1c7c7b2
Bumping to 4.8.0 (#1776)
luisfcorreia Jan 23, 2023
075cd1f
Update tag in docs and files [skip ci]
selenium-ci Jan 23, 2023
5b46a36
Bump Helm Chart to 0.15.0 for 4.8.0-20230123 (#1777)
abaldwin-op Jan 23, 2023
7e17a2d
Updating opentelemetry and grpc in base image (#1780)
AndreasPetersen Jan 30, 2023
ed21a2b
Refine lang setting (#1778)
jsa34 Jan 31, 2023
9684711
Update tag in docs and files [skip ci]
selenium-ci Jan 31, 2023
608f674
Bump chart to 0.15.1 for 4.8.0-20230131 (#1782)
abaldwin-op Feb 1, 2023
c7090ae
Bumping GeckoDriver (#1784)
diemol Feb 2, 2023
d57f909
Update tag in docs and files [skip ci]
selenium-ci Feb 2, 2023
05b83e5
Using release-tag instead of commit-id on novnc and websockify and up…
budtmo Feb 10, 2023
96e811e
Update tag in docs and files [skip ci]
selenium-ci Feb 10, 2023
c6df1ab
fix: ensure language is not hardcoded in generated wrapper scripts (#…
adrianhj Feb 16, 2023
ad03b28
Update Dockerfile
StevenBOULLE Feb 20, 2023
5239696
Merge branch 'trunk' into patch-2
StevenBOULLE Feb 20, 2023
a8e2d54
Bumping to 4.8.1 (#1795)
diemol Feb 21, 2023
e3765cc
Update tag in docs and files [skip ci]
selenium-ci Feb 21, 2023
42097c2
Bumping chart version
diemol Feb 21, 2023
3ecb348
Adding label commmenter config
diemol Feb 21, 2023
0330988
Merge branch 'trunk' into patch-2
StevenBOULLE Feb 21, 2023
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: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@ body:
attributes:
label: Docker Selenium version (tag)
description: What version of Docker Selenium are you using?
placeholder: 4.7.2-20221219? Please use the full tag, avoid "latest"
placeholder: 4.8.1-20230221? Please use the full tag, avoid "latest"
validations:
required: true
118 changes: 118 additions & 0 deletions .github/label-commenter-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# Configuration for Label Commenter - https://github.com/peaceiris/actions-label-commenter
labels:
- name: needs-triaging
labeled:
issue:
body: |
@{{ issue.user.login }}, thank you for creating this issue. We will troubleshoot it as soon as we can.

---
<details>
<summary>Info for maintainers</summary>
<div>
<br>
<p>
Triage this issue by using labels.
</p>
<p>
If information is missing, add a helpful comment and then <code>I-issue-template</code> label.
</p>
<p>
If the issue is a question, add the <code>I-question</code> label.
</p>
<p>
If the issue is valid but there is no time to troubleshoot it, consider adding the <code>help wanted</code> label.
</p>
<p>
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable <code>G-*</code> label, and it will provide the correct link and auto-close the
issue.
</p>
<p>
After troubleshooting the issue, please add the <code>R-awaiting answer</code> label.
</p>
<p>
Thank you!
</p>
</div>
</details>
- name: G-w3c
labeled:
issue:
body: |
Hi, @{{ issue.user.login }}.
This issue has been determined to require a change to the
[WebDriver W3C Specification](https://w3c.github.io/webdriver/) for Selenium to be able to support it.

Please [create an issue](https://github.com/w3c/webdriver/issues/new) with the WebDriver project.

Feel free to comment the issues that you raise back in this issue. Thank you.
action: close
- name: G-chromedriver
labeled:
issue:
body: |
Hi, @{{ issue.user.login }}.
This issue has been determined to require fixes in [ChromeDriver](https://chromedriver.chromium.org/home).

You can see if the feature is passing in the [Web Platform Tests](https://wpt.fyi/results/webdriver/tests).

If it is something new, please [create an issue](https://bugs.chromium.org/p/chromedriver/issues/list) with the ChromeDriver team.
Feel free to comment the issues that you raise back in this issue. Thank you.

action: close
- name: G-geckodriver
labeled:
issue:
body: |
Hi, @{{ issue.user.login }}.
This issue has been determined to require fixes in [GeckoDriver](https://firefox-source-docs.mozilla.org/testing/geckodriver/).

You can see if the feature is passing in the [Web Platform Tests](https://wpt.fyi/results/webdriver/tests).

If it is something new, please [create an Issue](https://github.com/mozilla/geckodriver/issues/new) with the GeckoDriver team.

Feel free to comment the issues that you raise back in this issue. Thank you.
action: close
- name: G-msedgedriver
labeled:
issue:
body: |
Hi, @{{ issue.user.login }}.
This issue has been determined to require fixes in [MSEdgeDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)
or in the IE Mode in Edge.

You can see if the feature is passing in the [Web Platform Tests](https://wpt.fyi/results/webdriver/tests).

If it is something new, please [create an Issue](https://github.com/MicrosoftEdge/EdgeWebDriver/issues/new) with the MSEdgeDriver team.

Feel free to comment the issues that you raise back in this issue. Thank you.
action: close
- name: I-issue-template
labeled:
issue:
body: |
Hi, @{{ issue.user.login }}.
Please follow the issue template, we need more information to reproduce the issue.

Either a complete code snippet and URL/HTML (if more than one file is needed, provide a GitHub repo and instructions to run the code), the specific versions used, or a more detailed description to help us understand the issue.

Note: If you cannot share your code and URL/HTML, any complete code snippet and URL/HTML that reproduces the issue is good enough.

Reply to this issue when all information is provided, thank you.
- name: I-question
labeled:
issue:
body: |
💬 Please ask questions at:
* 📫 The [Selenium user group](https://groups.google.com/forum/#!forum/selenium-users)
* 📮 [StackOverflow](https://stackoverflow.com/questions/tagged/selenium)
* 🗣 Our [IRC/Slack/Matrix channels](https://www.selenium.dev/support/) where the community can help you as well
action: close
- name: help wanted
labeled:
issue:
body: |
This issue is looking for contributors.

Please comment below or reach out to us through our [IRC/Slack/Matrix channels](https://www.selenium.dev/support/) if you are interested.
18 changes: 18 additions & 0 deletions .github/workflows/label-commenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Configuration for Label Commenter - https://github.com/peaceiris/actions-label-commenter
name: Label Commenter

on:
issues:
types: [ labeled ]

permissions:
contents: read
issues: write

jobs:
comment:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Label Commenter
uses: peaceiris/actions-label-commenter@v1
14 changes: 8 additions & 6 deletions Base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
#========================
RUN apt-get -qqy update \
&& apt-get -qqy --no-install-recommends install \
acl \
bzip2 \
ca-certificates \
openjdk-11-jre-headless \
Expand Down Expand Up @@ -70,13 +71,14 @@ COPY supervisord.conf /etc
#==========
RUN mkdir -p /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& touch /opt/selenium/config.toml \
&& chmod -R 755 /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor /etc/passwd \
&& wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.7.0/selenium-server-4.7.2.jar \
&& chmod -R 777 /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/supervisor /etc/passwd \
&& wget --no-verbose https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.8.0/selenium-server-4.8.1.jar \
-O /opt/selenium/selenium-server.jar \
&& wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.7.2/selenium-http-jdk-client-4.7.2.jar \
&& wget --no-verbose https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-http-jdk-client/4.8.1/selenium-http-jdk-client-4.8.1.jar \
-O /opt/selenium/selenium-http-jdk-client.jar \
&& chgrp -R 0 /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& chmod -R g=u /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor
&& chmod -R g=u /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor \
&& setfacl -Rm u:seluser:rwx /opt /opt/selenium ${HOME} /opt/selenium/assets /var/run/supervisor /var/log/supervisor

#=====
# Download observability related jaegar jars and make them available in a separate directory
Expand All @@ -85,9 +87,9 @@ RUN mkdir -p /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/su
RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier \
&& chmod +x /tmp/cs \
&& mkdir -p /external_jars \
&& chmod -R 755 /external_jars
&& chmod -R 775 /external_jars

RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-jaeger:1.19.0 io.grpc:grpc-netty:1.50.2 > /external_jars/.classpath.txt
RUN /tmp/cs fetch --classpath --cache /external_jars io.opentelemetry:opentelemetry-exporter-jaeger:1.22.0 io.grpc:grpc-netty:1.52.1 > /external_jars/.classpath.txt

RUN chmod 664 /external_jars/.classpath.txt

Expand Down
18 changes: 8 additions & 10 deletions NodeBase/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,22 +92,20 @@ RUN apt-get -qqy update \
########################################
# noVNC exposes VNC through a web page #
########################################
# Download https://github.com/novnc/noVNC dated 2021-03-30 commit 84f102d6a9ffaf3972693d59bad5c6fddb6d7fb0
# Download https://github.com/novnc/websockify dated 2021-03-22 commit c5d365dd1dbfee89881f1c1c02a2ac64838d645f
ENV NOVNC_SHA="84f102d6a9ffaf3972693d59bad5c6fddb6d7fb0" \
WEBSOCKIFY_SHA="c5d365dd1dbfee89881f1c1c02a2ac64838d645f"
ENV NOVNC_VERSION="1.4.0" \
WEBSOCKIFY_VERSION="0.11.0"
RUN wget -nv -O noVNC.zip \
"https://github.com/novnc/noVNC/archive/${NOVNC_SHA}.zip" \
"https://github.com/novnc/noVNC/archive/refs/tags/v${NOVNC_VERSION}.zip" \
&& unzip -x noVNC.zip \
&& mv noVNC-${NOVNC_SHA} /opt/bin/noVNC \
&& mv noVNC-${NOVNC_VERSION} /opt/bin/noVNC \
&& cp /opt/bin/noVNC/vnc.html /opt/bin/noVNC/index.html \
&& rm noVNC.zip \
&& wget -nv -O websockify.zip \
"https://github.com/novnc/websockify/archive/${WEBSOCKIFY_SHA}.zip" \
"https://github.com/novnc/websockify/archive/refs/tags/v${WEBSOCKIFY_VERSION}.zip" \
&& unzip -x websockify.zip \
&& rm websockify.zip \
&& rm -rf websockify-${WEBSOCKIFY_SHA}/tests \
&& mv websockify-${WEBSOCKIFY_SHA} /opt/bin/noVNC/utils/websockify
&& rm -rf websockify-${WEBSOCKIFY_VERSION}/tests \
&& mv websockify-${WEBSOCKIFY_VERSION} /opt/bin/noVNC/utils/websockify

#=========================================================================================================================================
# Run this command for executable file permissions for /dev/shm when this is a "child" container running in Docker Desktop and WSL2 distro
Expand Down Expand Up @@ -143,7 +141,7 @@ RUN mkdir -p ${HOME}/.vnc \
#==========
# Relaxing permissions for OpenShift and other non-sudo environments
#==========
RUN sudo chmod -R 755 ${HOME} \
RUN sudo chmod -R 775 ${HOME} \
&& sudo chgrp -R 0 ${HOME} \
&& sudo chmod -R g=u ${HOME}

Expand Down
2 changes: 1 addition & 1 deletion NodeBase/start-novnc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

if [ "${START_XVFB:-$SE_START_XVFB}" = true ] ; then
if [ "${START_NO_VNC:-$SE_START_NO_VNC}" = true ] ; then
/opt/bin/noVNC/utils/launch.sh --listen ${NO_VNC_PORT:-$SE_NO_VNC_PORT} --vnc localhost:${VNC_PORT:-$SE_VNC_PORT}
/opt/bin/noVNC/utils/novnc_proxy --listen ${NO_VNC_PORT:-$SE_NO_VNC_PORT} --vnc localhost:${VNC_PORT:-$SE_VNC_PORT}
else
echo "noVNC won't start because SE_START_NO_VNC is false."
fi
Expand Down
8 changes: 4 additions & 4 deletions NodeChrome/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ RUN if [ -z "$CHROME_DRIVER_VERSION" ]; \
&& echo "Using chromedriver version: "$CHROME_DRIVER_VERSION \
&& wget --no-verbose -O /tmp/chromedriver_linux64.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip \
&& rm -rf /opt/selenium/chromedriver \
&& unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \
&& sudo unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \
&& rm /tmp/chromedriver_linux64.zip \
&& mv /opt/selenium/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
&& chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
&& sudo mv /opt/selenium/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
&& sudo chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
&& sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver


#============================================
# Dumping Browser name and version for config
#============================================
RUN echo "chrome" > /opt/selenium/browser_name
RUN echo "chrome" > /opt/selenium/browser_name
19 changes: 11 additions & 8 deletions NodeChrome/wrap_chrome_binary
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ cat > "$WRAPPER_PATH" <<_EOF
# umask 002 ensures default permissions of files are 664 (rw-rw-r--) and directories are 775 (rwxrwxr-x).
umask 002

# Note: exec -a below is a bashism.
exec -a "\$0" "$BASE_PATH" --no-sandbox "\$@"
_EOF
chmod +x "$WRAPPER_PATH"

# Debian/Ubuntu seems to not respect --lang, it instead needs to be a LANGUAGE environment var
# See: https://stackoverflow.com/a/41893197/359999
for var in "$@"; do
if [[ $var == --lang=* ]]; then
export LANGUAGE=${var//--lang=}
for var in "\$@"; do
if [[ \$var == --lang=* ]]; then
LANGUAGE=\${var//--lang=}
fi
done

# Set language environment variable
export LANGUAGE="\$LANGUAGE"

# Note: exec -a below is a bashism.
exec -a "\$0" "$BASE_PATH" --no-sandbox "\$@"
_EOF
chmod +x "$WRAPPER_PATH"
8 changes: 4 additions & 4 deletions NodeDocker/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# Configs have a mapping between the Docker image to use and the capabilities that need to be matched to
# start a container with the given image.
configs = [
"selenium/standalone-firefox:4.7.2-20221219", '{"browserName": "firefox", "platformName": "linux"}',
"selenium/standalone-chrome:4.7.2-20221219", '{"browserName": "chrome", "platformName": "linux"}',
"selenium/standalone-edge:4.7.2-20221219", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
"selenium/standalone-firefox:4.8.1-20230221", '{"browserName": "firefox", "platformName": "linux"}',
"selenium/standalone-chrome:4.8.1-20230221", '{"browserName": "chrome", "platformName": "linux"}',
"selenium/standalone-edge:4.8.1-20230221", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
]

# URL for connecting to the docker daemon
Expand All @@ -14,7 +14,7 @@ configs = [
# socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
url = "http://127.0.0.1:2375"
# Docker image used for video recording
video-image = "selenium/video:ffmpeg-4.3.1-20221219"
video-image = "selenium/video:ffmpeg-4.3.1-20230221"

# Uncomment the following section if you are running the node on a separate VM
# Fill out the placeholders with appropriate values
Expand Down
19 changes: 11 additions & 8 deletions NodeEdge/wrap_edge_binary
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ cat > "$WRAPPER_PATH" <<_EOF
# umask 002 ensures default permissions of files are 664 (rw-rw-r--) and directories are 775 (rwxrwxr-x).
umask 002

# Note: exec -a below is a bashism.
exec -a "\$0" "$BASE_PATH" --no-sandbox "\$@"
_EOF
chmod +x "$WRAPPER_PATH"

# Debian/Ubuntu seems to not respect --lang, it instead needs to be a LANGUAGE environment var
# See: https://stackoverflow.com/a/41893197/359999
for var in "$@"; do
if [[ $var == --lang=* ]]; then
export LANGUAGE=${var//--lang=}
for var in "\$@"; do
if [[ \$var == --lang=* ]]; then
LANGUAGE=\${var//--lang=}
fi
done

# Set language environment variable
export LANGUAGE="\$LANGUAGE"

# Note: exec -a below is a bashism.
exec -a "\$0" "$BASE_PATH" --no-sandbox "\$@"
_EOF
chmod +x "$WRAPPER_PATH"
2 changes: 1 addition & 1 deletion NodeFirefox/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN FIREFOX_DOWNLOAD_URL=$(if [ $FIREFOX_VERSION = "latest" ] || [ $FIREFOX_VERS
# GeckoDriver
#============
ARG GECKODRIVER_VERSION=latest
RUN GK_VERSION=$(if [ ${GECKODRIVER_VERSION:-latest} = "latest" ]; then echo "0.32.0"; else echo $GECKODRIVER_VERSION; fi) \
RUN GK_VERSION=$(if [ ${GECKODRIVER_VERSION:-latest} = "latest" ]; then echo "0.32.1"; else echo $GECKODRIVER_VERSION; fi) \
&& echo "Using GeckoDriver version: "$GK_VERSION \
&& wget --no-verbose -O /tmp/geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/v$GK_VERSION/geckodriver-v$GK_VERSION-linux64.tar.gz \
&& rm -rf /opt/geckodriver \
Expand Down
Loading