-
Notifications
You must be signed in to change notification settings - Fork 60.3k
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
Fix job services localhost example in workflow-syntax-for-github-actions.md #33621
Conversation
Thanks for opening this pull request! A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines. |
Automatically generated comment ℹ️This comment is automatically generated and will be overwritten every time changes are committed to this branch. The table contains an overview of files in the Content directory changesYou may find it useful to copy this table into the pull request summary. There you can edit it to share links to important articles or changes and to give a high-level overview of how the changes in your pull request support the overall goals of the pull request.
fpt: Free, Pro, Team |
@piotrekkr Thanks so much for opening a PR! I'll get this triaged for review ✨ |
Thanks for opening a pull request! We've triaged this issue for technical review by a subject matter expert 👀 |
This is a gentle bump for the docs team that this PR is waiting for technical review. |
This comment was marked as spam.
This comment was marked as spam.
A stale label has been added to this pull request because it has been open 7 days with no activity. To keep this PR open, add a comment or push a commit within 3 days. |
A stale label has been added to this pull request because it has been open 7 days with no activity. To keep this PR open, add a comment or push a commit within 3 days. |
A stale label has been added to this pull request because it has been open 7 days with no activity. To keep this PR open, add a comment or push a commit within 3 days. |
@piotrekkr Thank you so much for your patience while our SME team reviewed! 💛 They have approved of your changes after testing your example ✨ Once you are able to resolve the conflicts with this branch, we are happy to get this merged! If submitting a new PR is easier for you, we're happy to merge that instead 🙇 |
…ons.md Current example states that : ``` When you specify the Docker host port but not the container port, the container port is randomly assigned to a free port. GitHub sets the assigned container port in the ${{job.services.<service_name>.ports}} context. In this example, you can access the service container ports using the ${{ job.services.nginx.ports['8080'] }} and ${{ job.services.redis.ports['6379'] }} contexts. ``` Which is not true because you either specify container port only and then Github Actions will choose random free port on **host**, or you specify both, host and container port. To access host port you should use container port as a key. In `nginx` example it should be `${{ job.services.nginx.ports['80'] }}` and not `8080`. Updated job services yaml example to show more clearly how to access those services. I tested all this using this yaml ```yaml jobs: job-a: runs-on: ubuntu-latest services: nginx: image: nginx # Map port 8080 on the Docker host to port 80 on the nginx container ports: - 8080:80 redis: image: redis # Map TCP port 6379 on Docker host to a random free port on the Redis container ports: - 6379/tcp steps: - run: docker ps - run: echo '${{ toJSON(job.services) }}' - run: | echo "Redis available on 127.0.0.1:${{ job.services.redis.ports['6379'] }}" echo "Nginx available on 127.0.0.1:${{ job.services.nginx.ports['80'] }}" - name: Check Redis run: | echo -e '*1\r\n$4\r\nPING\r\n' | netcat -w1 127.0.0.1 ${{ job.services.redis.ports['6379'] }} ```
@nguyenalex836 I've rebased my branch on latest code. There is no conflicts any more. |
@piotrekkr Thank you! 💛 Getting this merged now! |
Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. If you're looking for your next contribution, check out our help wanted issues ⚡ |
Why:
Because job services localhost example is wrong and misleading.
What's being changed (if available, include any code snippets, screenshots, or gifs):
Current example states that :
Which is not true because you either specify container port only and then GitHub Actions will choose random free port on host, or you specify both, host and container port.
To access host port you should use container port as a key. In
nginx
example it should be${{ job.services.nginx.ports['80'] }}
and not8080
.Updated job services yaml example to show more clearly how to access those services.
I tested all this using this yaml
Check off the following:
I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).
data
directory.For content changes, I have completed the self-review checklist.