netlink: improved event handling #63
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
on: | |
push: | |
branches-ignore: | |
# dependabot branches will fail on push since they run with fork-level permissions despite being in the main repo. | |
# said branches are tested anyhow when dependabot makes its PR and the pull_request triggers the run. | |
- 'dependabot/**' | |
pull_request: | |
name: CI | |
jobs: | |
prepare: | |
name: Prepare | |
runs-on: ubuntu-22.04 | |
outputs: | |
github_commit_desc: ${{ steps.get_commit_desc.outputs.github_commit_desc }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.1.2 | |
with: | |
fetch-depth: 0 | |
- name: Get head branch latest commit | |
run: echo "GITHUB_PR_HEAD_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^2 -1)" >> $GITHUB_ENV | |
- name: Get base branch latest commit | |
run: echo "GITHUB_PR_BASE_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^1 -1)" >> $GITHUB_ENV | |
- name: Get latest commit | |
run: echo "GITHUB_HEAD_SHA=$(git log --pretty=format:'%h' -1)" >> $GITHUB_ENV | |
# on a pull_request event in github actions, the tests are not run on the head branch of the PR, rather they are run on the merge commit of head merged into the base branch | |
# this means the latest commit in github actions, which is used for build artifact names is a commit that does not exist in the repository | |
# so on pull requests we create a user-friendly string to use in place of the merge commit sha, otherwise we just use the normal git HEAD sha. | |
- id: get_commit_desc | |
run: | | |
if [[ ${{ github.event_name }} == 'pull_request' ]]; then | |
echo "github_commit_desc=merge-${{ env.GITHUB_PR_HEAD_SHA }}-into-${{ env.GITHUB_PR_BASE_SHA }}" >> $GITHUB_OUTPUT | |
else | |
echo "github_commit_desc=${{ env.GITHUB_HEAD_SHA }}" >> $GITHUB_OUTPUT | |
fi | |
arch-linux: | |
name: Arch Linux | |
runs-on: ubuntu-22.04 | |
needs: prepare | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.1.2 | |
with: | |
# needed for getting git describe info for pkgver() in pkgbuild | |
fetch-depth: 0 | |
- name: Save commit description to file | |
# if this file is present, pkgver() in pkgbuild will use it to show a more user-friendly commit sha | |
run: echo ${{ needs.prepare.outputs.github_commit_desc }} >> GITHUB_COMMIT_DESC | |
- name: Makepkg Build and Check | |
id: makepkg | |
uses: edlanglois/pkgbuild-action@v1.1.8 | |
with: | |
# namcap doesn't actually exclude this rule, resulting in unnecessary warnings, so just disable namcap since it's not critical | |
# namcapExcludeRules: unusedsodepends | |
namcapDisable: true | |
- name: Upload Package Archive | |
uses: actions/upload-artifact@v4.3.1 | |
with: | |
name: fastgame-archlinux-${{ needs.prepare.outputs.github_commit_desc }}-x86_64 | |
path: ${{ steps.makepkg.outputs.pkgfile0 }} | |
if-no-files-found: error |