diff --git a/.github/workflows/AddLabel.yml b/.github/workflows/AddLabel.yml index deacdab9c8..a62d5d4ca6 100644 --- a/.github/workflows/AddLabel.yml +++ b/.github/workflows/AddLabel.yml @@ -31,7 +31,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/github-script@v7 + - name: Print Triggering Workflow Name + run: echo "The workflow that triggered this was ${{ github.event.workflow_run.name }}" + + - name: Add Pull Request Label + uses: actions/github-script@v7 with: script: | const owner = "google" @@ -40,8 +44,9 @@ jobs: if (context.payload.pull_request !== undefined) { pull_number = context.payload.pull_request.number } else if (context.payload.workflow_run !== undefined) { + workflow_name = context.payload.workflow_run.name if (context.payload.workflow_run.pull_requests.length === 0) { - console.log("This workflow is NOT running within a PR's context") + console.log("This workflow ${workflow_name} is NOT running within a PR's context") process.exit() } console.log(context.payload.workflow_run.pull_requests) diff --git a/.github/workflows/build_and_test_maxtext.yml b/.github/workflows/build_and_test_maxtext.yml index d54f98fbec..7c09f44f7c 100644 --- a/.github/workflows/build_and_test_maxtext.yml +++ b/.github/workflows/build_and_test_maxtext.yml @@ -119,7 +119,7 @@ jobs: needs: analyze_code_changes # Run if either tests or notebooks need to run if: | - needs.analyze_code_changes.outputs.run_tests == 'true' || + needs.analyze_code_changes.outputs.run_tests == 'true' || needs.analyze_code_changes.outputs.run_notebooks == 'true' uses: ./.github/workflows/build_package.yml with: @@ -127,6 +127,28 @@ jobs: device_name: v4-8 cloud_runner: linux-x86-n2-16-buildkit + echo-variable-job: + needs: build_and_upload_maxtext_package + runs-on: ubuntu-latest + # Define job-level environment variables + env: + MY_HF_TOKEN: ${{ secrets.HF_TOKEN }} + MY_NAME: "GitHub User" + + steps: + - name: Print the Environment Variable + # Access variable using runner shell syntax + run: | + echo "Hello, MY_NAME=$MY_NAME, MY_HF_TOKEN=$MY_HF_TOKEN !" + + if [ -z "${{ secrets.HF_TOKEN }}" ]; then + echo "MY_HF_TOKEN is NOT set" + else + # Prints the character count only + echo "MY_NAME is set (Length= ${#MY_NAME})" + echo "MY_HF_TOKEN is set (Length= ${#MY_HF_TOKEN})" + fi + maxtext_jupyter_notebooks: needs: build_and_upload_maxtext_package if: needs.analyze_code_changes.outputs.run_notebooks == 'true' @@ -301,4 +323,4 @@ jobs: if: ${{ contains(needs.*.result, 'failure') && github.event_name == 'schedule' }} uses: jayqi/failed-build-issue-action@1a893bbf43ef1c2a8705e2b115cd4f0fe3c5649b # v1.2.0 with: - github-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/run_jupyter_notebooks.yml b/.github/workflows/run_jupyter_notebooks.yml index fe2bd3d154..9bcf629301 100644 --- a/.github/workflows/run_jupyter_notebooks.yml +++ b/.github/workflows/run_jupyter_notebooks.yml @@ -73,13 +73,14 @@ jobs: # 2. Install MaxText package and all the post training dependencies uv pip install ${maxtext_wheel}[tpu-post-train] --resolution=lowest install_tpu_post_train_extra_deps - + python3 -m pip freeze - name: Run Post-Training Notebooks shell: bash env: PYTHONPATH: "${{ github.workspace }}/src" HF_TOKEN: ${{ secrets.HF_TOKEN }} + MY_HF_TOKEN: ${{ secrets.HF_TOKEN }} MAXTEXT_INSTALLED: ${{ inputs.maxtext_installed }} # TODO: Fix evaluation in sft_qwen3_demo.ipynb and remove this env variable RUN_EVALUATION: "False" @@ -99,6 +100,9 @@ jobs: export MAXTEXT_REPO_ROOT=$(pwd) export MAXTEXT_PKG_DIR=$(pwd)/src/maxtext export MAXTEXT_NOTEBOOKS_ROOT="$MAXTEXT_REPO_ROOT/src/maxtext/examples" + export HF_TOKEN=${MY_HF_TOKEN} + echo "MY_HF_TOKEN $MY_HF_TOKEN" + echo "HF_TOKEN $HF_TOKEN" # Register maxtext_venv as a selectable kernel in Jupyter $PYTHON_EXE -m ipykernel install --user --name maxtext_venv @@ -116,7 +120,7 @@ jobs: echo "Running $filename ..." echo "------------------------------------------------------" - $PAPERMILL_EXE "$notebook" "$output_name" -k maxtext_venv + $PAPERMILL_EXE "$notebook" "$output_name" -k maxtext_venv --log-output --log-level INFO done - name: Upload Outputs if: always() diff --git a/src/maxtext/examples/sft_llama3_demo_tpu.ipynb b/src/maxtext/examples/sft_llama3_demo_tpu.ipynb index 393a704aca..2f7bed589b 100644 --- a/src/maxtext/examples/sft_llama3_demo_tpu.ipynb +++ b/src/maxtext/examples/sft_llama3_demo_tpu.ipynb @@ -117,7 +117,7 @@ "\n", " # Install uv, a fast Python package installer\n", " !pip install uv\n", - " \n", + "\n", " # Install MaxText and post-training dependencies\n", " !uv pip install -e .[tpu-post-train] --resolution=lowest\n", " !install_tpu_post_train_extra_deps" @@ -190,8 +190,10 @@ "try:\n", " from google.colab import userdata\n", " HF_TOKEN = userdata.get(\"HF_TOKEN\")\n", + " print(f\"get HF_TOKEN={HF_TOKEN} from google.colab\")\n", "except ImportError:\n", " HF_TOKEN = os.environ.get(\"HF_TOKEN\", \"\")\n", + " print(f\"get HF_TOKEN={HF_TOKEN} from env\")\n", "\n", "# If not found in the environment, prompt the user for input securely\n", "# getpass function ensures the token is hidden while you type\n",