diff --git a/.github/workflows/bug_snapshot.yaml b/.github/workflows/bug_snapshot.yaml new file mode 100644 index 00000000000000..93ae09231b8475 --- /dev/null +++ b/.github/workflows/bug_snapshot.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2021, 2022 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +# Make a snapshot of open bugs as a python pickle file, compressed +# using xz. Upload the xz file to Amazon S3. + +name: Bug Snapshot + +on: + workflow_dispatch: + branches: [ main ] + +jobs: + make_bugs_pickle: + name: Make bugs pickle + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Python dependencies + run: | + sudo pip3 install -U setuptools wheel pip + pip3 install -U pygithub + + - name: Snapshot bugs + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + BUGS_PICKLE_FILENAME="zephyr-bugs-$(date -I).pickle.xz" + BUGS_PICKLE_PATH="${RUNNER_TEMP}/${BUGS_PICKLE_FILENAME}" + + set -euo pipefail + python3 scripts/make_bugs_pickle.py | xz > ${BUGS_PICKLE_PATH} + + echo "BUGS_PICKLE_FILENAME=${BUGS_PICKLE_FILENAME}" >> ${GITHUB_ENV} + echo "BUGS_PICKLE_PATH=${BUGS_PICKLE_PATH}" >> ${GITHUB_ENV} + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_BUILDS_ZEPHYR_BUG_SNAPSHOT_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Upload to AWS S3 + run: | + PUBLISH_BUCKET="builds.zephyrproject.org" + PUBLISH_DOMAIN="builds.zephyrproject.io" + PUBLISH_ROOT="${{ github.event.repository.name }}/bug-snapshot" + + PUBLISH_UPLOAD_URI="s3://${PUBLISH_BUCKET}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}" + PUBLISH_DOWNLOAD_URI="https://${PUBLISH_DOMAIN}/${PUBLISH_ROOT}/${BUGS_PICKLE_FILENAME}" + + aws s3 cp --quiet ${BUGS_PICKLE_PATH} ${PUBLISH_UPLOAD_URI} + echo "Bug pickle is available at: ${PUBLISH_DOWNLOAD_URI}" >> ${GITHUB_STEP_SUMMARY}