-
Notifications
You must be signed in to change notification settings - Fork 750
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
[SYCL][Devops] Fix DockerFile
linting issues discovered by trivy
#16361
Closed
AlexeySachkov
wants to merge
21
commits into
intel:sycl
from
AlexeySachkov:private/asachkov/apply-docker-best-practices
+103
−64
Closed
Changes from 13 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
045e856
[SYCL][Devops] Fix AVD-DS-0017
AlexeySachkov 15a7c6a
[SYCL][Devops] Fix AVD-DS-0002
AlexeySachkov 10cc0e3
[SYCL][Devops] Fix remaining AVD-DS-0002 issues
AlexeySachkov 1ea04f5
An attempt to fix docker images build
AlexeySachkov 49ab319
Outline sycl user creation into a separate script; Make it require pa…
AlexeySachkov c0439ff
Drop seemingly dead legacy code
AlexeySachkov 35a07f0
Propagate new secret to images and use sudo with password in workflows
AlexeySachkov ed7171c
Run various driver installs as root when building containers
AlexeySachkov 1ff5dd4
Properly propagate secrets down to user creation script
AlexeySachkov 4d28c77
Properly use new secret in build-container action
AlexeySachkov 8530141
Use the right secret
AlexeySachkov 3d7c76f
Access action inputs properly
AlexeySachkov 3cb941a
Permissions & action fixes
AlexeySachkov 6d88ec7
Lowercase root
AlexeySachkov 0964ce8
Differentiate password-less sycl vs sycl-ci user
AlexeySachkov 0625177
Align secret name with #16384
AlexeySachkov be4e0c6
Merge remote-tracking branch 'origin/sycl' into private/asachkov/appl…
AlexeySachkov ff333a1
Fix trivy reported issues in a new docker file
AlexeySachkov 8d931df
Switch all containers to `sycl_ci` user and update the documentation
AlexeySachkov 5d82571
Fix a typo
AlexeySachkov 4ef8161
One more typo fix
AlexeySachkov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,6 +21,9 @@ inputs: | |
file: | ||
description: "Dockerfile" | ||
required: true | ||
sycl_passwd: | ||
AlexeySachkov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
description: "Password to assign to sycl user within a container" | ||
required: true | ||
|
||
runs: | ||
using: "composite" | ||
|
@@ -31,6 +34,7 @@ runs: | |
registry: ghcr.io | ||
username: ${{ inputs.username }} | ||
password: ${{ inputs.password }} | ||
sycl_passwd: ${{ inputs.sycl_passwd }} | ||
- name: Build and Push Container | ||
uses: docker/[email protected] | ||
with: | ||
|
@@ -41,3 +45,4 @@ runs: | |
file: ${{ github.workspace }}/devops/containers/${{ inputs.file }}.Dockerfile | ||
secrets: | | ||
github_token=${{ github.token }} | ||
sycl_passwd=${{ inputs.sycl_passwd }} |
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
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
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
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#!/bin/bash | ||
|
||
# By default Ubuntu sets an arbitrary UID value, that is different from host | ||
# system. When CI passes default UID value of 1001, some of LLVM tools fail to | ||
# discover user home directory and fail a few LIT tests. Fixes UID and GID to | ||
# 1001, that is used as default by GitHub Actions. | ||
groupadd -g 1001 sycl && useradd sycl -u 1001 -g 1001 -m -s /bin/bash | ||
# Add sycl user to video/irc groups so that it can access GPU | ||
usermod -aG video sycl | ||
usermod -aG irc sycl | ||
|
||
# group 109 is required for sycl user to access PVC card. | ||
groupadd -g 109 render | ||
usermod -aG render sycl | ||
|
||
if [[ -f /run/secrets/sycl_passwd ]]; then | ||
# When running in our CI environment, we restrict access to root. | ||
|
||
# Set password for sycl user | ||
cat /run/secrets/sycl_passwd | passwd -s sycl | ||
|
||
# Allow sycl user to run as sudo, but only with password | ||
echo "sycl ALL=(root) PASSWD:ALL" >> /etc/sudoers | ||
else | ||
# Otherwise, we allow password-less root to simplify building other | ||
AlexeySachkov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# containers on top. | ||
|
||
# Allow sycl user to run as sudo passwrod-less | ||
echo "sycl ALL=(root) NOPASSWD:ALL" >> /etc/sudoers | ||
fi |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,3 @@ | ||
#!/bin/bash | ||
|
||
if [ -d "$GITHUB_WORKSPACE" ]; then | ||
chown -R sycl:sycl $GITHUB_WORKSPACE | ||
su sycl | ||
fi | ||
|
||
exec "$@" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need parens here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From my local experiments:
So, it seems to work correctly, but I can add parens for clarity if that's a preference