bump @opentelemetry/sdk-trace-node from 1.11.0 to 1.15.1 #303
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
name: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
merge_group: | |
concurrency: | |
# Ensure that we only run one concurrent job for Pull Requests. This ensures | |
# that someone can't kill our throughput by pushing a bunch of commits to a | |
# single branch in rapid succession. | |
# | |
# However, for master builds, we allow maximum concurrency. This is achieved | |
# because `github.head_ref` isn't defined there, and `github.run_id` is | |
# globally unique in this repo. | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
DOCKERHUB_USERNAME_SECRET: ${{ secrets.DOCKERHUB_USERNAME }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
# We need the whole history so we can diff against `master` to determine | |
# what images need to be built. | |
fetch-depth: 0 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 # https://github.com/marketplace/actions/docker-setup-qemu | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 # https://github.com/marketplace/actions/docker-setup-buildx | |
- name: Build the plbase docker image if needed | |
run: ./tools/build-image-if-needed.sh images/plbase prairielearn/plbase:latest | |
- name: Build the grader-c docker image if needed | |
run: ./tools/build-image-if-needed.sh graders/c prairielearn/grader-c:latest | |
- name: Build the grader-java docker image if needed | |
run: ./tools/build-image-if-needed.sh graders/java prairielearn/grader-java:latest | |
- name: Build the grader-python docker image if needed | |
run: ./tools/build-image-if-needed.sh graders/python prairielearn/grader-python:latest | |
- name: Build the grader-r docker image if needed | |
run: ./tools/build-image-if-needed.sh graders/r prairielearn/grader-r:latest | |
- name: Build the workspace-desktop docker image if needed | |
run: ./tools/build-image-if-needed.sh workspaces/desktop prairielearn/workspace-desktop:latest | |
- name: Build the workspace-jupyterlab docker image if needed | |
run: ./tools/build-image-if-needed.sh workspaces/jupyterlab prairielearn/workspace-jupyterlab:latest | |
- name: Build the workspace-rstudio docker image if needed | |
run: ./tools/build-image-if-needed.sh workspaces/rstudio prairielearn/workspace-rstudio:latest | |
- name: Build the workspace-xtermjs docker image if needed | |
run: ./tools/build-image-if-needed.sh workspaces/xtermjs prairielearn/workspace-xtermjs:latest | |
- name: Build the prairielearn docker image | |
# IMPORTANT: this image must be named `prairielearn/prairielearn` for the | |
# `prairielearn/executor` image to build correctly. | |
run: docker build -t prairielearn/prairielearn:latest . | |
- name: Create a temporary directory for host files | |
run: mkdir -p /tmp/prairielearn | |
- name: Start the container | |
# We have tests for external grading code, which relies on the Docker | |
# socket being available, as well as a specific volume mount and | |
# environment variable. See the docs for more details: | |
# https://prairielearn.readthedocs.io/en/latest/externalGrading/#running-locally-for-development | |
# | |
# We put the Postgres data on a tmpfs volume, which should be much faster. | |
run: docker run -td -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/prairielearn:/jobs --tmpfs=/var/postgres -e HOST_JOBS_DIR=/tmp/prairielearn --name=test_container prairielearn/prairielearn /bin/bash | |
- name: Run the Python linter | |
run: docker exec test_container /PrairieLearn/docker/lint_python.sh | |
- name: Run the JavaScript linter | |
run: docker exec test_container /PrairieLearn/docker/lint_js.sh | |
- name: Run the HTML linter | |
run: docker exec test_container /PrairieLearn/docker/lint_html.sh | |
- name: Run the Python typechecker | |
run: docker exec test_container /PrairieLearn/docker/typecheck_python.sh | |
- name: Run the JavaScript typechecker | |
run: docker exec test_container /PrairieLearn/docker/typecheck_js.sh | |
- name: Run the Python tests | |
run: docker exec test_container /PrairieLearn/docker/test_python.sh | |
timeout-minutes: 5 | |
- name: Run the JavaScript tests | |
run: docker exec test_container /PrairieLearn/docker/test_js.sh | |
# The JS tests hang relatively often when someone makes a mistake in a PR, | |
# and the GitHub Actions default timeout is 6 hours, so the CI run keeps | |
# spinning until it eventually times out. This shorter timeout helps | |
# ensure that the tests fail more quickly so that people can fix them. | |
timeout-minutes: 30 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16' | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Build executor image | |
run: ./tools/executor/build.js | |
# The following steps won't run correctly for forks since the Dockerhub | |
# credentials secrets will be missing. We only run them if the secrets are | |
# provided. Note that we can't use `secrets.*` directly in an `if` conditional | |
# here, so we copy them to an environment variable at the start of the job | |
# and then check that here. | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
if: ${{ env.DOCKERHUB_USERNAME_SECRET != '' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Push executor image to Docker registry | |
if: ${{ env.DOCKERHUB_USERNAME_SECRET != '' }} | |
run: ./tools/executor/release.js |