Build Test Results Dashboard #202
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Test Results Dashboard | |
on: | |
workflow_dispatch: | |
inputs: | |
runall_params: | |
description: 'Custom runall params' | |
required: false | |
type: string | |
dump_logs: | |
description: 'dump logs' | |
required: false | |
type: boolean | |
skip_test: | |
description: 'skip test - check github update' | |
required: false | |
type: boolean | |
# push: | |
# branches: | |
# - '*' | |
pull_request: | |
types: [opened, reopened, synchronize] | |
# Allows external webhook trigger | |
repository_dispatch: | |
types: | |
- webhook | |
env: | |
FORCE_COLORS: 1 | |
jobs: | |
runall: | |
runs-on: ubuntu-latest | |
steps: | |
- run: curl -sSL https://raw.githubusercontent.com/pdm-project/pdm/main/install-pdm.py | python3 - | |
- run: pip install jq yq | |
- run: which xq | |
- run: echo $PATH | |
- run: echo '<hello>a<world tag="123"/>b</hello>' | xq | |
- uses: actions/checkout@v1 | |
# - uses: actions/checkout@v3 | |
# with: | |
# repository: eth-infinitism/bundler-spec-tests | |
# path: bundler-spec-tests | |
# submodules: true | |
- run: test -d bundler-spec-tests || git clone --recurse-submodules --depth 1 https://github.com/eth-infinitism/bundler-spec-tests | |
name: clone bundler-spec-tests | |
- run: cd bundler-spec-tests && (git describe --tags; git submodule ) | tee .git.status | |
name: check bundler-spec-tests and submodules status | |
# restore cache of bundler-spec-tests, and its submodules | |
- uses: actions/cache@v3 | |
with: | |
path: bundler-spec-tests | |
key: ${{ runner.os }}-${{ hashFiles('bundler-spec-tests/pdm.lock') }} | |
- run: cd bundler-spec-tests; git checkout | |
name: "re-checkout bundler-spec-tests (on top of cache)" | |
#for faster "update-deps" for spec | |
- run: yarn --cwd bundler-spec-tests/spec remove gatsby || echo "already removed" | |
- run: "cd bundler-spec-tests && pdm install && pdm update-deps" | |
name: update submodules of bundler-spec-tests | |
- run: ./runall.sh ${{ inputs.runall_params }} | |
if: ${{ ! inputs.skip_test }} | |
name: Run all tests ${{ inputs.runall_params }} | |
- name: dump logs | |
if: ${{ inputs.dump_logs }} | |
run: for d in build/*/*.log; do echo === $d:; cat $d | perl -pe 's/(?:runbundler-)?(\S+?)(?:-1)?[\s|]+(\S+)/$2 $1 /' | sort ; done | |
- name: Clone and update results repo | |
run: ./update-results.sh out-results | |
- name: Push update to results repo | |
uses: cpina/github-action-push-to-another-repository@main | |
env: | |
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }} | |
with: | |
source-directory: 'out-results' | |
destination-github-username: 'eth-infinitism' | |
destination-repository-name: 'bundler-test-results' | |
user-email: [email protected] | |
target-branch: ${{ github.ref_name }} | |
# Allow one concurrent deployment | |
concurrency: | |
group: "deploy" | |
cancel-in-progress: true | |