name: Footprint Tracking # Run every 12 hours and on tags on: schedule: - cron: '50 1/12 * * *' push: paths: - 'VERSION' - '.github/workflows/footprint-tracking.yml' branches: - main - v*-branch tags: # only publish v* tags, do not care about zephyr-v* which point to the # same commit - 'v*' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }} cancel-in-progress: true jobs: footprint-tracking: runs-on: group: zephyr-runner-v2-linux-x64-4xlarge if: github.repository_owner == 'zephyrproject-rtos' container: image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.9.20240223 options: '--entrypoint /bin/bash' strategy: fail-fast: false env: ZEPHYR_TOOLCHAIN_VARIANT: zephyr steps: - name: Apply container owner mismatch workaround run: | # FIXME: The owner UID of the GITHUB_WORKSPACE directory may not # match the container user UID because of the way GitHub # Actions runner is implemented. Remove this workaround when # GitHub comes up with a fundamental fix for this problem. git config --global --add safe.directory ${GITHUB_WORKSPACE} - name: Print cloud service information run: | echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}" echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}" echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}" - name: Update PATH for west run: | echo "$HOME/.local/bin" >> $GITHUB_PATH - name: Install packages run: | sudo apt-get update sudo apt-get install -y python3-venv sudo pip3 install -U setuptools wheel pip gitpython - name: checkout uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 - name: Environment Setup run: | echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV - name: west setup run: | west init -l . || true west config --global update.narrow true west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ vars.AWS_TESTING_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_TESTING_SECRET_ACCESS_KEY }} aws-region: us-east-1 - name: Record Footprint env: BASE_REF: ${{ github.base_ref }} run: | export ZEPHYR_BASE=${PWD} ./scripts/footprint/track.py -p scripts/footprint/plan.txt - name: Upload footprint data run: | python3 -m venv .venv . .venv/bin/activate pip3 install awscli aws s3 sync --quiet footprint_data/ s3://testing.zephyrproject.org/footprint_data/