mirror of
https://github.com/commaai/agnos-builder.git
synced 2026-04-06 06:43:53 +08:00
102 lines
3.7 KiB
YAML
102 lines
3.7 KiB
YAML
name: push and comment
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["build"]
|
|
types:
|
|
- completed
|
|
|
|
jobs:
|
|
push-and-comment:
|
|
runs-on: ubuntu-latest
|
|
if: >
|
|
github.event.workflow_run.event == 'pull_request' &&
|
|
github.event.workflow_run.conclusion == 'success' &&
|
|
contains(github.event.workflow_run.head_commit.message, '[upload]')
|
|
timeout-minutes: 5
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
actions: read
|
|
steps:
|
|
- name: Setup SSH key
|
|
uses: webfactory/ssh-agent@dc588b651fe13675774614f8e6a936a468676387
|
|
with:
|
|
ssh-private-key: ${{ secrets.CI_ARTIFACTS_GITLAB_DEPLOY_KEY }}
|
|
|
|
- name: Checkout ci-artifacts
|
|
run: |
|
|
ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
|
|
git clone -b master git@gitlab.com:commaai/ci-artifacts.git ${{ github.workspace }}/ci-artifacts
|
|
|
|
- name: Download artifact
|
|
id: download-artifact
|
|
uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11
|
|
with:
|
|
run_id: ${{ github.event.workflow_run.id }}
|
|
name: agnos-artifacts
|
|
path: ${{ github.workspace }}/ci-artifacts
|
|
|
|
- name: Read PR number and VERSION
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const fs = require('fs');
|
|
const prNumber = fs.readFileSync('${{ github.workspace }}/ci-artifacts/PR', 'utf8').trim();
|
|
core.exportVariable('PR_NUMBER', prNumber);
|
|
const version = fs.readFileSync('${{ github.workspace }}/ci-artifacts/VERSION', 'utf8').trim();
|
|
core.exportVariable('VERSION', version);
|
|
|
|
- name: Push boot, system and agnos.json
|
|
working-directory: ${{ github.workspace }}/ci-artifacts
|
|
run: |
|
|
mv ota.json agnos.json && rm ota-staging.json
|
|
git checkout -b agnos-builder/pr-${{ env.PR_NUMBER }}
|
|
git config user.name "GitHub Actions Bot"
|
|
git config user.email "<>"
|
|
git lfs track "*.xz"
|
|
git add .
|
|
git commit -m "build artifacts for PR #${{ env.PR_NUMBER }}"
|
|
git push origin agnos-builder/pr-${{ env.PR_NUMBER }} --force
|
|
|
|
- name: List .xz files with links
|
|
working-directory: ${{ github.workspace }}/ci-artifacts
|
|
run: |
|
|
{
|
|
echo 'XZ_FILES<<EOF'
|
|
for file in *.xz; do
|
|
echo "* [$file](https://gitlab.com/commaai/ci-artifacts/-/raw/agnos-builder/pr-${{ env.PR_NUMBER }}/$file)"
|
|
done
|
|
echo EOF
|
|
} >> $GITHUB_ENV
|
|
|
|
- name: Read agnos_stats.txt
|
|
working-directory: ${{ github.workspace }}/ci-artifacts
|
|
run: |
|
|
{
|
|
echo 'AGNOS_STATS<<EOF'
|
|
cat agnos_stats.txt
|
|
echo EOF
|
|
} >> $GITHUB_ENV
|
|
|
|
- name: Comment on PR
|
|
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6
|
|
with:
|
|
message: |
|
|
<!-- _(run_id **${{ github.event.workflow_run.id }}**)_ -->
|
|
## :white_check_mark: AGNOS update ${{ env.VERSION }} ready
|
|
In an openpilot branch, download <a href="https://gitlab.com/commaai/ci-artifacts/-/raw/agnos-builder/pr-${{ env.PR_NUMBER }}/agnos.json">agnos.json</a> in `system/hardware/tici/` and update `AGNOS_VERSION` to "${{ env.VERSION }}" in `launch_env.sh`.
|
|
|
|
For flashing locally, download and unarchive the images in `agnos-builder/output` and flash with `./flash_all.sh`.
|
|
|
|
### Images:
|
|
${{ env.XZ_FILES }}
|
|
|
|
### Stats:
|
|
```
|
|
${{ env.AGNOS_STATS }}
|
|
```
|
|
pr_number: ${{ env.PR_NUMBER }}
|
|
comment_tag: run_id
|
|
mode: recreate
|