Azat Khuzhin fc24a2990d ci: add ability skip specific workflow
Public CI workers has pretty high load, and sometimes you need to test
only specific workflow, i.e. windows.

So let's add ability to limit which workflow should be run.
2022-07-10 15:13:46 +03:00

76 lines
2.3 KiB
YAML

---
name: abi
on:
push:
branches:
- master
## TODO: use source tag name in the destination repo
#tags:
# - release-*
jobs:
abi:
runs-on: ubuntu-18.04
## TODO: use docker image, but for now this is not possible without hacks
## due to even public registry require some authentication:
## - https://github.community/t5/GitHub-Actions/docker-pull-from-public-GitHub-Package-Registry-fail-with-quot/td-p/32782/page/5
#container: docker.pkg.github.com/azat/docker-images/lvc-debian
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'ci/abi skip')"
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2.0.0
- name: Install Dependencies
run:
sudo apt install
abi-tracker
abi-monitor
abi-dumper
abi-compliance-checker
pkgdiff
vtable-dumper
- name: Generate
shell: bash
run: |
./extra/abi-check/abi_check.sh
env:
ABI_CHECK_ROOT: /tmp/le-abi-root
- name: Deploy
env:
LIBEVENT_DEPLOY_ABI_PRI: ${{ secrets.LIBEVENT_DEPLOY_ABI_PRI }}
COMMIT_ID: ${{ github.sha }}
run: |
[[ -n $LIBEVENT_DEPLOY_ABI_PRI ]] || exit 0
mkdir -p ~/.ssh
echo "$LIBEVENT_DEPLOY_ABI_PRI" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
short_commit_id="${COMMIT_ID:0:7}"
owner_name="${{ github.event.repository.owner.name }}"
cd /tmp/le-abi-root/work/abi-check
git init
git config --local user.name "Libevent Github Robot"
git config --local user.email "robot@libevent.org"
git add -f .
git commit -m "Update ABI/API backward compatibility report (libevent/libevent@$short_commit_id)"
git push -f git@github.com:$owner_name/abi master
# XXX: requires container-id for docker
- uses: actions/upload-artifact@v1
if: failure()
with:
name: build
path: /tmp/le-abi-root
- uses: actions/upload-artifact@v1
with:
name: build
path: /tmp/le-abi-root/work/abi-check