| name: Upload Nightly Artifacts |
| description: Archives and uploads nightly artifacts to GCS bucket. |
| runs: |
| using: "composite" |
| steps: |
| - name: Set up Cloud SDK |
| uses: isarkis/setup-gcloud@40dce7857b354839efac498d3632050f568090b6 # v1.1.1 |
| - name: Set env vars |
| env: |
| WORKFLOW: ${{github.workflow}} |
| run: | |
| echo "ARCHIVE_FILE=cobalt-${{matrix.platform}}_${{matrix.config}}.tar.gz" >> $GITHUB_ENV |
| echo "ARCHIVE_PATH=$GITHUB_WORKSPACE/cobalt-${{matrix.platform}}_${{matrix.config}}.tar.gz" >> $GITHUB_ENV |
| echo "PROJECT_NAME=$(gcloud config get-value project)" >> $GITHUB_ENV |
| echo "TODAY=$(date +'%Y-%m-%d')" >> $GITHUB_ENV |
| echo "GITHUB_RUN_NUMBER=${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV |
| echo "WORKFLOW=${WORKFLOW}" >> $GITHUB_ENV |
| echo "PYTHONPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV |
| shell: bash |
| - name: Copy Out Folder |
| run: | |
| # Clean up. |
| [ -d "${GITHUB_WORKSPACE}/out/upload_out" ] && rm -rf "${GITHUB_WORKSPACE}/out/upload_out" |
| [ -f "${ARCHIVE_FILE}" ] && rm -rf "${ARCHIVE_FILE}" |
| # Create an archive. |
| python3 $GITHUB_WORKSPACE/tools/copy_and_filter_out_dir.py -d $GITHUB_WORKSPACE/out/upload_out/${{matrix.target_platform}}_${{matrix.config}} -s $GITHUB_WORKSPACE/out/${{matrix.target_platform}}_${{matrix.config}} |
| shell: bash |
| - name: Create Archive |
| run: | |
| set -x |
| cd "$GITHUB_WORKSPACE" |
| python3 $GITHUB_WORKSPACE/tools/create_archive.py --intermediate -d ${{env.ARCHIVE_FILE}} -s out/upload_out |
| shell: bash |
| - name: Upload Archive |
| id: upload-archive |
| shell: bash |
| run: | |
| set -uex |
| gsutil -d cp "${ARCHIVE_PATH}" "gs://${PROJECT_NAME}-build-artifacts/${WORKFLOW}/${TODAY}/${GITHUB_RUN_NUMBER}/" |